mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
[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:
parent
b629a865fb
commit
38ef6550a8
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
function nonReactFn() {
|
function nonReactFn() {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
@ -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 {};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
const Test = () => <div />;
|
const Test = () => <div />;
|
||||||
|
|
||||||
export const FIXTURE_ENTRYPOINT = {
|
export const FIXTURE_ENTRYPOINT = {
|
||||||
|
|
|
||||||
|
|
@ -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 = () => {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
class Component {
|
class Component {
|
||||||
_renderMessage = () => {
|
_renderMessage = () => {
|
||||||
const Message = () => {
|
const Message = () => {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @enableEmitInstrumentForget @compilationMode(annotation)
|
// @enableEmitInstrumentForget @compilationMode:"annotation"
|
||||||
|
|
||||||
function Bar(props) {
|
function Bar(props) {
|
||||||
'use forget';
|
'use forget';
|
||||||
|
|
|
||||||
|
|
@ -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} />;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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} />;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @enableEmitInstrumentForget @compilationMode(annotation)
|
// @enableEmitInstrumentForget @compilationMode:"annotation"
|
||||||
|
|
||||||
import {identity} from 'shared-runtime';
|
import {identity} from 'shared-runtime';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
## Input
|
## Input
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
function Component() {
|
function Component() {
|
||||||
return <Foo />;
|
return <Foo />;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
function Component() {
|
function Component() {
|
||||||
return <Foo />;
|
return <Foo />;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @enableEmitInstrumentForget @compilationMode(annotation) @gating
|
// @enableEmitInstrumentForget @compilationMode:"annotation" @gating
|
||||||
|
|
||||||
function Bar(props) {
|
function Bar(props) {
|
||||||
'use forget';
|
'use forget';
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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 />;
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @customMacros(idx.*.b)
|
// @customMacros:"idx.*.b"
|
||||||
|
|
||||||
function Component(props) {
|
function Component(props) {
|
||||||
// outlined
|
// outlined
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @customMacros(idx.a)
|
// @customMacros:"idx.a"
|
||||||
|
|
||||||
function Component(props) {
|
function Component(props) {
|
||||||
// outlined
|
// outlined
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @customMacros(idx)
|
// @customMacros:"idx"
|
||||||
import idx from 'idx';
|
import idx from 'idx';
|
||||||
|
|
||||||
function Component(props) {
|
function Component(props) {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 />;
|
||||||
|
|
|
||||||
|
|
@ -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 />;
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
## Input
|
## Input
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useEffect} from 'react';
|
import {useEffect} from 'react';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useEffect} from 'react';
|
import {useEffect} from 'react';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
function NonReactiveDepInEffect() {
|
function NonReactiveDepInEffect() {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
## Input
|
## Input
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useSpecialEffect} from 'shared-runtime';
|
import {useSpecialEffect} from 'shared-runtime';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useSpecialEffect} from 'shared-runtime';
|
import {useSpecialEffect} from 'shared-runtime';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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}) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useEffect} from 'react';
|
import {useEffect} from 'react';
|
||||||
|
|
||||||
function Component({propVal}) {
|
function Component({propVal}) {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @inferEffectDependencies @panicThreshold(none)
|
// @inferEffectDependencies @panicThreshold:"none"
|
||||||
import {useEffect} from 'react';
|
import {useEffect} from 'react';
|
||||||
|
|
||||||
function Component({foo}) {
|
function Component({foo}) {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
React.memo(props => {
|
React.memo(props => {
|
||||||
return <div />;
|
return <div />;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
const Component = props => {
|
const Component = props => {
|
||||||
return <div />;
|
return <div />;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
|
|
||||||
const Component = function ComponentName(props) {
|
const Component = function ComponentName(props) {
|
||||||
return <Foo />;
|
return <Foo />;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
React.forwardRef(props => {
|
React.forwardRef(props => {
|
||||||
return <div />;
|
return <div />;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
function Component(props) {
|
function Component(props) {
|
||||||
return <div />;
|
return <div />;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
|
|
||||||
function Foo({}, ref) {
|
function Foo({}, ref) {
|
||||||
return <div ref={ref} />;
|
return <div ref={ref} />;
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
function useDiv(props) {
|
function useDiv(props) {
|
||||||
return <div />;
|
return <div />;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// @compilationMode(infer)
|
// @compilationMode:"infer"
|
||||||
|
|
||||||
import {Stringify} from 'shared-runtime';
|
import {Stringify} from 'shared-runtime';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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) };
|
||||||
|
|
|
||||||
|
|
@ -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)};
|
||||||
|
|
|
||||||
|
|
@ -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
Loading…
Reference in New Issue
Block a user