[compiler][playground][tests] Standardize more pragmas (#33146)

(Almost) all pragmas are now one of the following:
- `@...TestOnly`: custom pragma for test fixtures
- `@<configName>` | `@<configName>:true`: enables with either true or a
default enabled value
- `@<configName>:<json value>`
This commit is contained in:
mofeiZ 2025-05-08 11:26:53 -04:00 committed by GitHub
parent b629a865fb
commit 38ef6550a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
182 changed files with 350 additions and 454 deletions

View File

@ -1,5 +1,5 @@
import { c as _c } from "react/compiler-runtime"; //  import { c as _c } from "react/compiler-runtime"; // 
        @compilationMode(all)         @compilationMode:"all"
function nonReactFn() { function nonReactFn() {
  const $ = _c(1);   const $ = _c(1);
  let t0;   let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function nonReactFn() { function nonReactFn() {
  return {};   return {};
} }

View File

@ -92,7 +92,7 @@ function useFoo(propVal: {+baz: number}) {
}, },
{ {
name: 'compilationMode-infer', name: 'compilationMode-infer',
input: `// @compilationMode(infer) input: `// @compilationMode:"infer"
function nonReactFn() { function nonReactFn() {
return {}; return {};
} }
@ -101,7 +101,7 @@ function nonReactFn() {
}, },
{ {
name: 'compilationMode-all', name: 'compilationMode-all',
input: `// @compilationMode(all) input: `// @compilationMode:"all"
function nonReactFn() { function nonReactFn() {
return {}; return {};
} }

View File

@ -98,7 +98,7 @@ export type PluginOptions = {
* provided rules will skip compilation. To disable this feature (never bailout of compilation * provided rules will skip compilation. To disable this feature (never bailout of compilation
* even if the default ESLint is suppressed), pass an empty array. * even if the default ESLint is suppressed), pass an empty array.
*/ */
eslintSuppressionRules?: Array<string> | null | undefined; eslintSuppressionRules: Array<string> | null | undefined;
flowSuppressions: boolean; flowSuppressions: boolean;
/* /*
@ -106,7 +106,7 @@ export type PluginOptions = {
*/ */
ignoreUseNoForget: boolean; ignoreUseNoForget: boolean;
sources?: Array<string> | ((filename: string) => boolean) | null; sources: Array<string> | ((filename: string) => boolean) | null;
/** /**
* The compiler has customized support for react-native-reanimated, intended as a temporary workaround. * The compiler has customized support for react-native-reanimated, intended as a temporary workaround.

View File

@ -10,7 +10,6 @@ import {CompilerError} from '../CompilerError';
import { import {
CompilationMode, CompilationMode,
defaultOptions, defaultOptions,
PanicThresholdOptions,
parsePluginOptions, parsePluginOptions,
PluginOptions, PluginOptions,
} from '../Entrypoint'; } from '../Entrypoint';
@ -19,14 +18,24 @@ import {
EnvironmentConfigSchema, EnvironmentConfigSchema,
PartialEnvironmentConfig, PartialEnvironmentConfig,
} from '../HIR/Environment'; } from '../HIR/Environment';
import {Err, Ok, Result} from './Result';
import {hasOwnProperty} from './utils';
function tryParseTestPragmaValue(val: string): Result<unknown, unknown> {
try {
let parsedVal: unknown;
const stringMatch = /^"([^"]*)"$/.exec(val);
if (stringMatch && stringMatch.length > 1) {
parsedVal = stringMatch[1];
} else {
parsedVal = JSON.parse(val);
}
return Ok(parsedVal);
} catch (e) {
return Err(e);
}
}
/**
* For test fixtures and playground only.
*
* Pragmas are straightforward to parse for boolean options (`:true` and
* `:false`). These are 'enabled' config values for non-boolean configs (i.e.
* what is used when parsing `:true`).
*/
const testComplexConfigDefaults: PartialEnvironmentConfig = { const testComplexConfigDefaults: PartialEnvironmentConfig = {
validateNoCapitalizedCalls: [], validateNoCapitalizedCalls: [],
enableChangeDetectionForDebugging: { enableChangeDetectionForDebugging: {
@ -84,34 +93,37 @@ const testComplexConfigDefaults: PartialEnvironmentConfig = {
}, },
], ],
}; };
/** /**
* For snap test fixtures and playground only. * For snap test fixtures and playground only.
*/ */
function parseConfigPragmaEnvironmentForTest( function parseConfigPragmaEnvironmentForTest(
pragma: string, pragma: string,
): EnvironmentConfig { ): EnvironmentConfig {
const maybeConfig: any = {}; const maybeConfig: Partial<Record<keyof EnvironmentConfig, unknown>> = {};
// Get the defaults to programmatically check for boolean properties
const defaultConfig = EnvironmentConfigSchema.parse({});
for (const token of pragma.split(' ')) { for (const token of pragma.split(' ')) {
if (!token.startsWith('@')) { if (!token.startsWith('@')) {
continue; continue;
} }
const keyVal = token.slice(1); const keyVal = token.slice(1);
let [key, val = undefined] = keyVal.split(':'); const valIdx = keyVal.indexOf(':');
const key = valIdx === -1 ? keyVal : keyVal.slice(0, valIdx);
const val = valIdx === -1 ? undefined : keyVal.slice(valIdx + 1);
const isSet = val === undefined || val === 'true'; const isSet = val === undefined || val === 'true';
if (!hasOwnProperty(EnvironmentConfigSchema.shape, key)) {
if (isSet && key in testComplexConfigDefaults) {
maybeConfig[key] =
testComplexConfigDefaults[key as keyof PartialEnvironmentConfig];
continue; continue;
} }
if (key === 'customMacros' && val) { if (isSet && key in testComplexConfigDefaults) {
const valSplit = val.split('.'); maybeConfig[key] = testComplexConfigDefaults[key];
if (valSplit.length > 0) { } else if (isSet) {
maybeConfig[key] = true;
} else if (val === 'false') {
maybeConfig[key] = false;
} else if (val) {
const parsedVal = tryParseTestPragmaValue(val).unwrap();
if (key === 'customMacros' && typeof parsedVal === 'string') {
const valSplit = parsedVal.split('.');
const props = []; const props = [];
for (const elt of valSplit.slice(1)) { for (const elt of valSplit.slice(1)) {
if (elt === '*') { if (elt === '*') {
@ -121,21 +133,9 @@ function parseConfigPragmaEnvironmentForTest(
} }
} }
maybeConfig[key] = [[valSplit[0], props]]; maybeConfig[key] = [[valSplit[0], props]];
continue;
} }
continue; maybeConfig[key] = parsedVal;
}
if (
key !== 'enableResetCacheOnSourceFileChanges' &&
typeof defaultConfig[key as keyof EnvironmentConfig] !== 'boolean'
) {
// skip parsing non-boolean properties
continue;
}
if (val === undefined || val === 'true') {
maybeConfig[key] = true;
} else {
maybeConfig[key] = false;
} }
} }
const config = EnvironmentConfigSchema.safeParse(maybeConfig); const config = EnvironmentConfigSchema.safeParse(maybeConfig);
@ -156,6 +156,13 @@ function parseConfigPragmaEnvironmentForTest(
suggestions: null, suggestions: null,
}); });
} }
const testComplexPluginOptionDefaults: Partial<PluginOptions> = {
gating: {
source: 'ReactForgetFeatureFlag',
importSpecifierName: 'isForgetEnabled_Fixtures',
},
};
export function parseConfigPragmaForTests( export function parseConfigPragmaForTests(
pragma: string, pragma: string,
defaults: { defaults: {
@ -163,44 +170,41 @@ export function parseConfigPragmaForTests(
}, },
): PluginOptions { ): PluginOptions {
const environment = parseConfigPragmaEnvironmentForTest(pragma); const environment = parseConfigPragmaEnvironmentForTest(pragma);
let compilationMode: CompilationMode = defaults.compilationMode; const options: Record<keyof PluginOptions, unknown> = {
let panicThreshold: PanicThresholdOptions = 'all_errors'; ...defaultOptions,
let noEmit: boolean = defaultOptions.noEmit; panicThreshold: 'all_errors',
compilationMode: defaults.compilationMode,
environment,
};
for (const token of pragma.split(' ')) { for (const token of pragma.split(' ')) {
if (!token.startsWith('@')) { if (!token.startsWith('@')) {
continue; continue;
} }
switch (token) { const keyVal = token.slice(1);
case '@compilationMode(annotation)': { const idx = keyVal.indexOf(':');
compilationMode = 'annotation'; const key = idx === -1 ? keyVal : keyVal.slice(0, idx);
break; const val = idx === -1 ? undefined : keyVal.slice(idx + 1);
} if (!hasOwnProperty(defaultOptions, key)) {
case '@compilationMode(infer)': { continue;
compilationMode = 'infer'; }
break; const isSet = val === undefined || val === 'true';
} if (isSet && key in testComplexPluginOptionDefaults) {
case '@compilationMode(all)': { options[key] = testComplexPluginOptionDefaults[key];
compilationMode = 'all'; } else if (isSet) {
break; options[key] = true;
} } else if (val === 'false') {
case '@compilationMode(syntax)': { options[key] = false;
compilationMode = 'syntax'; } else if (val != null) {
break; const parsedVal = tryParseTestPragmaValue(val).unwrap();
} if (key === 'target' && parsedVal === 'donotuse_meta_internal') {
case '@panicThreshold(none)': { options[key] = {
panicThreshold = 'none'; kind: parsedVal,
break; runtimeModule: 'react',
} };
case '@noEmit': { } else {
noEmit = true; options[key] = parsedVal;
break;
} }
} }
} }
return parsePluginOptions({ return parsePluginOptions(options);
environment,
compilationMode,
panicThreshold,
noEmit,
});
} }

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
const Test = () => <div />; const Test = () => <div />;
export const FIXTURE_ENTRYPOINT = { export const FIXTURE_ENTRYPOINT = {
@ -15,7 +15,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
const Test = () => { const Test = () => {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
const Test = () => <div />; const Test = () => <div />;
export const FIXTURE_ENTRYPOINT = { export const FIXTURE_ENTRYPOINT = {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
class Component { class Component {
_renderMessage = () => { _renderMessage = () => {
const Message = () => { const Message = () => {
@ -22,7 +22,7 @@ class Component {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
class Component { class Component {
_renderMessage = () => { _renderMessage = () => {
const Message = () => { const Message = () => {

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
class Component { class Component {
_renderMessage = () => { _renderMessage = () => {
const Message = () => { const Message = () => {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @enableEmitInstrumentForget @compilationMode(annotation) // @enableEmitInstrumentForget @compilationMode:"annotation"
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';
@ -24,7 +24,7 @@ function Foo(props) {
```javascript ```javascript
import { shouldInstrument, useRenderCounter } from "react-compiler-runtime"; import { shouldInstrument, useRenderCounter } from "react-compiler-runtime";
import { c as _c } from "react/compiler-runtime"; // @enableEmitInstrumentForget @compilationMode(annotation) import { c as _c } from "react/compiler-runtime"; // @enableEmitInstrumentForget @compilationMode:"annotation"
function Bar(props) { function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @enableEmitInstrumentForget @compilationMode(annotation) // @enableEmitInstrumentForget @compilationMode:"annotation"
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @flow @compilationMode(infer) // @flow @compilationMode:"infer"
export default component Foo(bar: number) { export default component Foo(bar: number) {
return <Bar bar={bar} />; return <Bar bar={bar} />;
} }

View File

@ -1,4 +1,4 @@
// @flow @compilationMode(infer) // @flow @compilationMode:"infer"
export default component Foo(bar: number) { export default component Foo(bar: number) {
return <Bar bar={bar} />; return <Bar bar={bar} />;
} }

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @enableEmitInstrumentForget @compilationMode(annotation) // @enableEmitInstrumentForget @compilationMode:"annotation"
import {identity} from 'shared-runtime'; import {identity} from 'shared-runtime';
@ -35,7 +35,7 @@ import {
shouldInstrument as _shouldInstrument3, shouldInstrument as _shouldInstrument3,
useRenderCounter, useRenderCounter,
} from "react-compiler-runtime"; } from "react-compiler-runtime";
import { c as _c } from "react/compiler-runtime"; // @enableEmitInstrumentForget @compilationMode(annotation) import { c as _c } from "react/compiler-runtime"; // @enableEmitInstrumentForget @compilationMode:"annotation"
import { identity } from "shared-runtime"; import { identity } from "shared-runtime";

View File

@ -1,4 +1,4 @@
// @enableEmitInstrumentForget @compilationMode(annotation) // @enableEmitInstrumentForget @compilationMode:"annotation"
import {identity} from 'shared-runtime'; import {identity} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @eslintSuppressionRules(my-app/react-rule) // @eslintSuppressionRules:["my-app","react-rule"]
/* eslint-disable my-app/react-rule */ /* eslint-disable my-app/react-rule */
function lowercasecomponent() { function lowercasecomponent() {
@ -19,7 +19,7 @@ function lowercasecomponent() {
## Error ## Error
``` ```
1 | // @eslintSuppressionRules(my-app/react-rule) 1 | // @eslintSuppressionRules:["my-app","react-rule"]
2 | 2 |
> 3 | /* eslint-disable my-app/react-rule */ > 3 | /* eslint-disable my-app/react-rule */
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ InvalidReact: React Compiler has skipped optimizing this component because one or more React ESLint rules were disabled. React Compiler only works when your components follow all the rules of React, disabling them may result in unexpected or incorrect behavior. eslint-disable my-app/react-rule (3:3) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ InvalidReact: React Compiler has skipped optimizing this component because one or more React ESLint rules were disabled. React Compiler only works when your components follow all the rules of React, disabling them may result in unexpected or incorrect behavior. eslint-disable my-app/react-rule (3:3)

View File

@ -1,4 +1,4 @@
// @eslintSuppressionRules(my-app/react-rule) // @eslintSuppressionRules:["my-app","react-rule"]
/* eslint-disable my-app/react-rule */ /* eslint-disable my-app/react-rule */
function lowercasecomponent() { function lowercasecomponent() {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component({ref}) { function Component({ref}) {
const value = ref.current; const value = ref.current;
return <div>{value}</div>; return <div>{value}</div>;
@ -14,7 +14,7 @@ function Component({ref}) {
## Error ## Error
``` ```
1 | // @validateRefAccessDuringRender @compilationMode(infer) 1 | // @validateRefAccessDuringRender @compilationMode:"infer"
2 | function Component({ref}) { 2 | function Component({ref}) {
> 3 | const value = ref.current; > 3 | const value = ref.current;
| ^^^^^^^^^^^ InvalidReact: Ref values (the `current` property) may not be accessed during render. (https://react.dev/reference/react/useRef) (3:3) | ^^^^^^^^^^^ InvalidReact: Ref values (the `current` property) may not be accessed during render. (https://react.dev/reference/react/useRef) (3:3)

View File

@ -1,4 +1,4 @@
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component({ref}) { function Component({ref}) {
const value = ref.current; const value = ref.current;
return <div>{value}</div>; return <div>{value}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component(props) { function Component(props) {
const value = props.ref.current; const value = props.ref.current;
return <div>{value}</div>; return <div>{value}</div>;
@ -14,7 +14,7 @@ function Component(props) {
## Error ## Error
``` ```
1 | // @validateRefAccessDuringRender @compilationMode(infer) 1 | // @validateRefAccessDuringRender @compilationMode:"infer"
2 | function Component(props) { 2 | function Component(props) {
> 3 | const value = props.ref.current; > 3 | const value = props.ref.current;
| ^^^^^^^^^^^^^^^^^ InvalidReact: Ref values (the `current` property) may not be accessed during render. (https://react.dev/reference/react/useRef) (3:3) | ^^^^^^^^^^^^^^^^^ InvalidReact: Ref values (the `current` property) may not be accessed during render. (https://react.dev/reference/react/useRef) (3:3)

View File

@ -1,4 +1,4 @@
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component(props) { function Component(props) {
const value = props.ref.current; const value = props.ref.current;
return <div>{value}</div>; return <div>{value}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component(props) { function Component(props) {
const ref = props.ref; const ref = props.ref;
ref.current = true; ref.current = true;

View File

@ -1,4 +1,4 @@
// @validateRefAccessDuringRender @compilationMode(infer) // @validateRefAccessDuringRender @compilationMode:"infer"
function Component(props) { function Component(props) {
const ref = props.ref; const ref = props.ref;
ref.current = true; ref.current = true;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component() { function Component() {
return <Foo />; return <Foo />;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Component() { function Component() {
return <Foo />; return <Foo />;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @validateBlocklistedImports(DangerousImport) // @validateBlocklistedImports:["DangerousImport"]
import {foo} from 'DangerousImport'; import {foo} from 'DangerousImport';
import {useIdentity} from 'shared-runtime'; import {useIdentity} from 'shared-runtime';
@ -17,7 +17,7 @@ function useHook() {
## Error ## Error
``` ```
1 | // @validateBlocklistedImports(DangerousImport) 1 | // @validateBlocklistedImports:["DangerousImport"]
> 2 | import {foo} from 'DangerousImport'; > 2 | import {foo} from 'DangerousImport';
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Todo: Bailing out due to blocklisted import. Import from module DangerousImport (2:2) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Todo: Bailing out due to blocklisted import. Import from module DangerousImport (2:2)
3 | import {useIdentity} from 'shared-runtime'; 3 | import {useIdentity} from 'shared-runtime';

View File

@ -1,4 +1,4 @@
// @validateBlocklistedImports(DangerousImport) // @validateBlocklistedImports:["DangerousImport"]
import {foo} from 'DangerousImport'; import {foo} from 'DangerousImport';
import {useIdentity} from 'shared-runtime'; import {useIdentity} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
import {useEffect, useMemo, useState} from 'react'; import {useEffect, useMemo, useState} from 'react';
import {ValidateMemoization} from 'shared-runtime'; import {ValidateMemoization} from 'shared-runtime';
@ -43,7 +43,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { ValidateMemoization } from "shared-runtime"; import { ValidateMemoization } from "shared-runtime";

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
import {useEffect, useMemo, useState} from 'react'; import {useEffect, useMemo, useState} from 'react';
import {ValidateMemoization} from 'shared-runtime'; import {ValidateMemoization} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) @enableResetCacheOnSourceFileChanges // @compilationMode:"infer" @enableResetCacheOnSourceFileChanges
import {useEffect, useMemo, useState} from 'react'; import {useEffect, useMemo, useState} from 'react';
import {ValidateMemoization} from 'shared-runtime'; import {ValidateMemoization} from 'shared-runtime';
@ -46,7 +46,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) @enableResetCacheOnSourceFileChanges import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer" @enableResetCacheOnSourceFileChanges
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { ValidateMemoization } from "shared-runtime"; import { ValidateMemoization } from "shared-runtime";
@ -63,12 +63,12 @@ function unsafeUpdateConst() {
function Component() { function Component() {
const $ = _c(3); const $ = _c(3);
if ( if (
$[0] !== "8d7015668f857996c3d895a7a90e3e16b8a791d5b9cd13f2c76e1c254aeedebb" $[0] !== "a585d27423c1181e7b6305ff909458183d284658c3c3d2e3764e1128be302fd7"
) { ) {
for (let $i = 0; $i < 3; $i += 1) { for (let $i = 0; $i < 3; $i += 1) {
$[$i] = Symbol.for("react.memo_cache_sentinel"); $[$i] = Symbol.for("react.memo_cache_sentinel");
} }
$[0] = "8d7015668f857996c3d895a7a90e3e16b8a791d5b9cd13f2c76e1c254aeedebb"; $[0] = "a585d27423c1181e7b6305ff909458183d284658c3c3d2e3764e1128be302fd7";
} }
useState(_temp); useState(_temp);

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) @enableResetCacheOnSourceFileChanges // @compilationMode:"infer" @enableResetCacheOnSourceFileChanges
import {useEffect, useMemo, useState} from 'react'; import {useEffect, useMemo, useState} from 'react';
import {ValidateMemoization} from 'shared-runtime'; import {ValidateMemoization} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @enableEmitInstrumentForget @compilationMode(annotation) @gating // @enableEmitInstrumentForget @compilationMode:"annotation" @gating
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';
@ -38,7 +38,7 @@ export const FIXTURE_ENTRYPOINT = {
```javascript ```javascript
import { shouldInstrument, useRenderCounter } from "react-compiler-runtime"; import { shouldInstrument, useRenderCounter } from "react-compiler-runtime";
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @enableEmitInstrumentForget @compilationMode(annotation) @gating import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @enableEmitInstrumentForget @compilationMode:"annotation" @gating
const Bar = isForgetEnabled_Fixtures() const Bar = isForgetEnabled_Fixtures()
? function Bar(props) { ? function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @enableEmitInstrumentForget @compilationMode(annotation) @gating // @enableEmitInstrumentForget @compilationMode:"annotation" @gating
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export default function Bar(props) { export default function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;
@ -28,7 +28,7 @@ export const FIXTURE_ENTRYPOINT = {
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode(annotation) import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode:"annotation"
const Bar = isForgetEnabled_Fixtures() const Bar = isForgetEnabled_Fixtures()
? function Bar(props) { ? function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export default function Bar(props) { export default function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export default function Bar(props) { export default function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;
@ -35,7 +35,7 @@ export const FIXTURE_ENTRYPOINT = {
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode(annotation) import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode:"annotation"
const Bar = isForgetEnabled_Fixtures() const Bar = isForgetEnabled_Fixtures()
? function Bar(props) { ? function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export default function Bar(props) { export default function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export function Bar(props) { export function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;
@ -28,7 +28,7 @@ export const FIXTURE_ENTRYPOINT = {
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode(annotation) import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode:"annotation"
export const Bar = isForgetEnabled_Fixtures() export const Bar = isForgetEnabled_Fixtures()
? function Bar(props) { ? function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
export function Bar(props) { export function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;
@ -28,7 +28,7 @@ export const FIXTURE_ENTRYPOINT = {
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode(annotation) import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode:"annotation"
const Bar = isForgetEnabled_Fixtures() const Bar = isForgetEnabled_Fixtures()
? function Bar(props) { ? function Bar(props) {
"use forget"; "use forget";

View File

@ -1,4 +1,4 @@
// @gating @compilationMode(annotation) // @gating @compilationMode:"annotation"
function Bar(props) { function Bar(props) {
'use forget'; 'use forget';
return <div>{props.bar}</div>; return <div>{props.bar}</div>;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @gating @compilationMode(infer) // @gating @compilationMode:"infer"
import React from 'react'; import React from 'react';
export default React.forwardRef(function notNamedLikeAComponent(props) { export default React.forwardRef(function notNamedLikeAComponent(props) {
return <div />; return <div />;
@ -14,7 +14,7 @@ export default React.forwardRef(function notNamedLikeAComponent(props) {
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; import { c as _c } from "react/compiler-runtime";
import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode(infer) import { isForgetEnabled_Fixtures } from "ReactForgetFeatureFlag"; // @gating @compilationMode:"infer"
import React from "react"; import React from "react";
export default React.forwardRef( export default React.forwardRef(
isForgetEnabled_Fixtures() isForgetEnabled_Fixtures()

View File

@ -1,4 +1,4 @@
// @gating @compilationMode(infer) // @gating @compilationMode:"infer"
import React from 'react'; import React from 'react';
export default React.forwardRef(function notNamedLikeAComponent(props) { export default React.forwardRef(function notNamedLikeAComponent(props) {
return <div />; return <div />;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @flow @compilationMode(infer) // @flow @compilationMode:"infer"
export default hook useFoo(bar: number) { export default hook useFoo(bar: number) {
return [bar]; return [bar];
} }

View File

@ -1,4 +1,4 @@
// @flow @compilationMode(infer) // @flow @compilationMode:"infer"
export default hook useFoo(bar: number) { export default hook useFoo(bar: number) {
return [bar]; return [bar];
} }

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @customMacros(idx.*.b) // @customMacros:"idx.*.b"
function Component(props) { function Component(props) {
// outlined // outlined
@ -31,7 +31,7 @@ function Component(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @customMacros(idx.*.b) import { c as _c } from "react/compiler-runtime"; // @customMacros:"idx.*.b"
function Component(props) { function Component(props) {
const $ = _c(16); const $ = _c(16);

View File

@ -1,4 +1,4 @@
// @customMacros(idx.*.b) // @customMacros:"idx.*.b"
function Component(props) { function Component(props) {
// outlined // outlined

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @customMacros(idx.a) // @customMacros:"idx.a"
function Component(props) { function Component(props) {
// outlined // outlined
@ -25,7 +25,7 @@ function Component(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @customMacros(idx.a) import { c as _c } from "react/compiler-runtime"; // @customMacros:"idx.a"
function Component(props) { function Component(props) {
const $ = _c(10); const $ = _c(10);

View File

@ -1,4 +1,4 @@
// @customMacros(idx.a) // @customMacros:"idx.a"
function Component(props) { function Component(props) {
// outlined // outlined

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @customMacros(idx) // @customMacros:"idx"
import idx from 'idx'; import idx from 'idx';
function Component(props) { function Component(props) {
@ -21,7 +21,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @customMacros(idx) import { c as _c } from "react/compiler-runtime"; // @customMacros:"idx"
function Component(props) { function Component(props) {
var _ref2; var _ref2;

View File

@ -1,4 +1,4 @@
// @customMacros(idx) // @customMacros:"idx"
import idx from 'idx'; import idx from 'idx';
function Component(props) { function Component(props) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
import {useNoAlias} from 'shared-runtime'; import {useNoAlias} from 'shared-runtime';
// This should be compiled by Forget // This should be compiled by Forget
@ -22,7 +22,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
import { useNoAlias } from "shared-runtime"; import { useNoAlias } from "shared-runtime";
// This should be compiled by Forget // This should be compiled by Forget

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
import {useNoAlias} from 'shared-runtime'; import {useNoAlias} from 'shared-runtime';
// This should be compiled by Forget // This should be compiled by Forget

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
// Takes multiple parameters - not a component! // Takes multiple parameters - not a component!
function Component(foo, bar) { function Component(foo, bar) {
return <div />; return <div />;
@ -18,7 +18,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
// Takes multiple parameters - not a component! // Takes multiple parameters - not a component!
function Component(foo, bar) { function Component(foo, bar) {
return <div />; return <div />;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
// Takes multiple parameters - not a component! // Takes multiple parameters - not a component!
function Component(foo, bar) { function Component(foo, bar) {
return <div />; return <div />;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @compilationMode(infer) @panicThreshold(none) // @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
import useMyEffect from 'useEffectWrapper'; import useMyEffect from 'useEffectWrapper';
function nonReactFn(arg) { function nonReactFn(arg) {

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @compilationMode(infer) @panicThreshold(none) // @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
import useMyEffect from 'useEffectWrapper'; import useMyEffect from 'useEffectWrapper';
function nonReactFn(arg) { function nonReactFn(arg) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @compilationMode(infer) @panicThreshold(none) // @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function nonReactFn(arg) { function nonReactFn(arg) {

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @compilationMode(infer) @panicThreshold(none) // @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function nonReactFn(arg) { function nonReactFn(arg) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
/** /**

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
/** /**

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import React from 'react'; import React from 'react';
function NonReactiveDepInEffect() { function NonReactiveDepInEffect() {

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import React from 'react'; import React from 'react';
function NonReactiveDepInEffect() { function NonReactiveDepInEffect() {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useSpecialEffect} from 'shared-runtime'; import {useSpecialEffect} from 'shared-runtime';
/** /**

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useSpecialEffect} from 'shared-runtime'; import {useSpecialEffect} from 'shared-runtime';
/** /**

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function Component({propVal}) { function Component({propVal}) {

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function Component({propVal}) { function Component({propVal}) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
import {print} from 'shared-runtime'; import {print} from 'shared-runtime';
@ -20,7 +20,7 @@ function Component({foo}) {
## Code ## Code
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import { useEffect } from "react"; import { useEffect } from "react";
import { print } from "shared-runtime"; import { print } from "shared-runtime";

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
import {print} from 'shared-runtime'; import {print} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect, useRef} from 'react'; import {useEffect, useRef} from 'react';
import {print} from 'shared-runtime'; import {print} from 'shared-runtime';
@ -19,7 +19,7 @@ function Component({arrRef}) {
## Code ## Code
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import { useEffect, useRef } from "react"; import { useEffect, useRef } from "react";
import { print } from "shared-runtime"; import { print } from "shared-runtime";

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect, useRef} from 'react'; import {useEffect, useRef} from 'react';
import {print} from 'shared-runtime'; import {print} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function Component({foo}) { function Component({foo}) {
@ -17,7 +17,7 @@ function Component({foo}) {
## Code ## Code
```javascript ```javascript
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import { useEffect } from "react"; import { useEffect } from "react";
function Component(t0) { function Component(t0) {

View File

@ -1,4 +1,4 @@
// @inferEffectDependencies @panicThreshold(none) // @inferEffectDependencies @panicThreshold:"none"
import {useEffect} from 'react'; import {useEffect} from 'react';
function Component({foo}) { function Component({foo}) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
React.memo(props => { React.memo(props => {
return <div />; return <div />;
}); });
@ -12,7 +12,7 @@ React.memo(props => {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
React.memo((props) => { React.memo((props) => {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
React.memo(props => { React.memo(props => {
return <div />; return <div />;
}); });

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
const Component = props => { const Component = props => {
return <div />; return <div />;
}; };
@ -12,7 +12,7 @@ const Component = props => {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
const Component = (props) => { const Component = (props) => {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
const Component = props => { const Component = props => {
return <div />; return <div />;
}; };

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
const Component = function ComponentName(props) { const Component = function ComponentName(props) {
return <Foo />; return <Foo />;
@ -13,7 +13,7 @@ const Component = function ComponentName(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
const Component = function ComponentName(props) { const Component = function ComponentName(props) {
const $ = _c(1); const $ = _c(1);

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
const Component = function ComponentName(props) { const Component = function ComponentName(props) {
return <Foo />; return <Foo />;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
React.forwardRef(props => { React.forwardRef(props => {
return <div />; return <div />;
}); });
@ -12,7 +12,7 @@ React.forwardRef(props => {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
React.forwardRef((props) => { React.forwardRef((props) => {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
React.forwardRef(props => { React.forwardRef(props => {
return <div />; return <div />;
}); });

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const [state, _] = useState(null); const [state, _] = useState(null);
return [state]; return [state];
@ -13,7 +13,7 @@ function Component(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
function Component(props) { function Component(props) {
const $ = _c(2); const $ = _c(2);
const [state] = useState(null); const [state] = useState(null);

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const [state, _] = useState(null); const [state, _] = useState(null);
return [state]; return [state];

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
return <div />; return <div />;
} }
@ -12,7 +12,7 @@ function Component(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
function Component(props) { function Component(props) {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
return <div />; return <div />;
} }

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Foo({}, ref) { function Foo({}, ref) {
return <div ref={ref} />; return <div ref={ref} />;
@ -18,7 +18,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
function Foo(t0, ref) { function Foo(t0, ref) {
const $ = _c(2); const $ = _c(2);

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Foo({}, ref) { function Foo({}, ref) {
return <div ref={ref} />; return <div ref={ref} />;

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function useStateValue(props) { function useStateValue(props) {
const [state, _] = useState(null); const [state, _] = useState(null);
return [state]; return [state];
@ -13,7 +13,7 @@ function useStateValue(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
function useStateValue(props) { function useStateValue(props) {
const $ = _c(2); const $ = _c(2);
const [state] = useState(null); const [state] = useState(null);

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function useStateValue(props) { function useStateValue(props) {
const [state, _] = useState(null); const [state, _] = useState(null);
return [state]; return [state];

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function useDiv(props) { function useDiv(props) {
return <div />; return <div />;
} }
@ -12,7 +12,7 @@ function useDiv(props) {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
function useDiv(props) { function useDiv(props) {
const $ = _c(1); const $ = _c(1);
let t0; let t0;

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function useDiv(props) { function useDiv(props) {
return <div />; return <div />;
} }

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
import {Stringify} from 'shared-runtime'; import {Stringify} from 'shared-runtime';
@ -27,7 +27,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
import { c as _c } from "react/compiler-runtime"; // @compilationMode(infer) import { c as _c } from "react/compiler-runtime"; // @compilationMode:"infer"
import { Stringify } from "shared-runtime"; import { Stringify } from "shared-runtime";

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
import {Stringify} from 'shared-runtime'; import {Stringify} from 'shared-runtime';

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
import {useIdentity, identity} from 'shared-runtime'; import {useIdentity, identity} from 'shared-runtime';
function Component(fakeProps: number) { function Component(fakeProps: number) {
@ -20,7 +20,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
import { useIdentity, identity } from "shared-runtime"; import { useIdentity, identity } from "shared-runtime";
function Component(fakeProps: number) { function Component(fakeProps: number) {

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
import {useIdentity, identity} from 'shared-runtime'; import {useIdentity, identity} from 'shared-runtime';
function Component(fakeProps: number) { function Component(fakeProps: number) {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const result = f(props); const result = f(props);
function helper() { function helper() {
@ -26,7 +26,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const result = f(props); const result = f(props);
function helper() { function helper() {

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const result = f(props); const result = f(props);
function helper() { function helper() {

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const ignore = <foo />; const ignore = <foo />;
return {foo: f(props)}; return {foo: f(props)};
@ -22,7 +22,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const ignore = <foo />; const ignore = <foo />;
return { foo: f(props) }; return { foo: f(props) };

View File

@ -1,4 +1,4 @@
// @compilationMode(infer) // @compilationMode:"infer"
function Component(props) { function Component(props) {
const ignore = <foo />; const ignore = <foo />;
return {foo: f(props)}; return {foo: f(props)};

View File

@ -2,7 +2,7 @@
## Input ## Input
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
// This component is skipped bc it doesn't call any hooks or // This component is skipped bc it doesn't call any hooks or
// use JSX: // use JSX:
function Component(props) { function Component(props) {
@ -14,7 +14,7 @@ function Component(props) {
## Code ## Code
```javascript ```javascript
// @compilationMode(infer) // @compilationMode:"infer"
// This component is skipped bc it doesn't call any hooks or // This component is skipped bc it doesn't call any hooks or
// use JSX: // use JSX:
function Component(props) { function Component(props) {

Some files were not shown because too many files have changed in this diff Show More