compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/ — react Directory Structure
Directory listing for compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/ in the react codebase. Contains 1288 files and 20 subdirectories.
Entity Profile
Dependency Diagram
graph TD 16378929_5b32_854a_2d55_8ccee7c907eb["compiler/"] a68a3376_266b_2f86_efc6_19c82096e6ea["ecma/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> a68a3376_266b_2f86_efc6_19c82096e6ea 809d8278_7581_43fc_4698_b907b8079a6f["effect-derived-computations/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 809d8278_7581_43fc_4698_b907b8079a6f 34d6d125_a19d_b9bc_30ce_f06c870a497d["exhaustive-deps/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 34d6d125_a19d_b9bc_30ce_f06c870a497d 7f4472da_5d0d_08e1_e58f_40e52037f69c["fbt/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 7f4472da_5d0d_08e1_e58f_40e52037f69c f07d0323_e787_e7cf_7729_70aa93fb76a7["gating/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> f07d0323_e787_e7cf_7729_70aa93fb76a7 dc9836fc_0d53_e470_868f_47b8c31385ce["global-types/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> dc9836fc_0d53_e470_868f_47b8c31385ce 329c7a31_799d_754b_683c_8c0ffb0df8eb["infer-effect-dependencies/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 329c7a31_799d_754b_683c_8c0ffb0df8eb 4cf15649_64cc_4bfb_6cd3_3b41598e47fa["inner-function/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 4cf15649_64cc_4bfb_6cd3_3b41598e47fa 65f1d31c_8bd3_2094_1f9c_124ed88295a5["meta-isms/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 65f1d31c_8bd3_2094_1f9c_124ed88295a5 a152402c_7082_c302_eaca_d7864e1b1184["new-mutability/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> a152402c_7082_c302_eaca_d7864e1b1184 ca48f4ca_ede6_c897_269b_5a149c36e07c["original-reactive-scopes-fork/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> ca48f4ca_ede6_c897_269b_5a149c36e07c b8b4a085_c84e_1a42_5a17_4f82957f34f0["preserve-existing-memoization-guarantees/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> b8b4a085_c84e_1a42_5a17_4f82957f34f0 059c304d_bfdd_b53e_93dd_6e82eb4354d5["preserve-memo-validation/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 059c304d_bfdd_b53e_93dd_6e82eb4354d5 6be4e3ae_3b9e_289b_ad71_c2d726089d44["propagate-scope-deps-hir-fork/"] 16378929_5b32_854a_2d55_8ccee7c907eb --> 6be4e3ae_3b9e_289b_ad71_c2d726089d44 style 16378929_5b32_854a_2d55_8ccee7c907eb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Subdirectories
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/ecma/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/effect-derived-computations/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/exhaustive-deps/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/fbt/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/global-types/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inner-function/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/meta-isms/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/original-reactive-scopes-fork/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-existing-memoization-guarantees/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-validation/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/propagate-scope-deps-hir-fork/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/reduce-reactive-deps/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rules-of-hooks/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/ssr/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/static-components/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/
- compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/
Files
- alias-capture-in-method-receiver-and-mutate.js
- alias-capture-in-method-receiver.js
- alias-computed-load.js
- alias-nested-member-path-mutate.js
- alias-nested-member-path.js
- alias-while.js
- aliased-nested-scope-fn-expr.tsx
- aliased-nested-scope-truncated-dep.tsx
- align-scope-starts-within-cond.ts
- align-scopes-iife-return-modified-later-logical.ts
- align-scopes-nested-block-structure.ts
- align-scopes-reactive-scope-overlaps-if.ts
- align-scopes-reactive-scope-overlaps-label.ts
- align-scopes-reactive-scope-overlaps-try.ts
- align-scopes-trycatch-nested-overlapping-range.ts
- align-scopes-within-nested-valueblock-in-array.tsx
- allocating-logical-expression-instruction-scope.ts
- allocating-primitive-as-dep-nested-scope.js
- allocating-primitive-as-dep.js
- allow-assigning-ref-accessing-function-to-object-property-if-not-mutated.js
- allow-assigning-to-global-in-function-spread-as-jsx.js
- allow-global-mutation-in-effect-indirect-usecallback.js
- allow-global-mutation-in-effect-indirect.js
- allow-global-mutation-unused-usecallback.js
- allow-global-reassignment-in-effect-indirect.js
- allow-global-reassignment-in-effect.js
- allow-merge-refs-pattern.js
- allow-modify-global-in-callback-jsx.js
- allow-mutate-global-in-effect-fixpoint.js
- allow-mutating-ref-in-callback-passed-to-jsx-indirect.tsx
- allow-mutating-ref-in-callback-passed-to-jsx.tsx
- allow-mutating-ref-property-in-callback-passed-to-jsx-indirect.tsx
- allow-mutating-ref-property-in-callback-passed-to-jsx.tsx
- allow-passing-ref-to-render-helper-props-object.js
- allow-passing-ref-to-render-helper.js
- allow-passing-refs-as-props.js
- allow-reassignment-to-global-function-jsx-prop.js
- allow-ref-access-in-async-event-handler-wrapper.tsx
- allow-ref-access-in-effect-indirect.js
- allow-ref-access-in-effect.js
- allow-ref-access-in-event-handler-wrapper.tsx
- allow-ref-access-in-unused-callback-nested.js
- allow-ref-initialization-undefined.js
- allow-ref-initialization.js
- allow-ref-lazy-initialization-with-logical.js
- allow-ref-type-cast-in-render.js
- array-access-assignment.js
- array-at-closure.js
- array-at-effect.js
- array-at-mutate-after-capture.js
- array-concat-should-capture.ts
- array-expression-spread.js
- array-from-arg1-captures-arg0.js
- array-from-captures-arg0.js
- array-from-maybemutates-arg0.js
- array-join.js
- array-map-captures-receiver-noAlias.js
- array-map-frozen-array-noAlias.js
- array-map-frozen-array.js
- array-map-mutable-array-mutating-lambda-noAlias.js
- array-map-mutable-array-mutating-lambda.js
- array-map-mutable-array-non-mutating-lambda-mutated-result.js
- array-map-noAlias-escaping-function.js
- array-pattern-params.js
- array-pattern-spread-creates-array.js
- array-properties.js
- array-property-call.js
- array-push-effect.js
- array-spread-later-mutated.js
- array-spread-mutable-iterator.js
- arrow-expr-directive.js
- arrow-function-one-line-directive.js
- arrow-function-with-implicit-return.js
- assignment-expression-computed.js
- assignment-expression-nested-path.js
- assignment-in-nested-if.js
- assignment-variations-complex-lvalue-array.js
- assignment-variations-complex-lvalue.js
- assignment-variations.js
- await-side-effecting-promise.js
- await.js
- babel-existing-react-import.js
- babel-existing-react-kitchensink-import.js
- babel-existing-react-namespace-import.js
- babel-existing-react-runtime-import.js
- babel-repro-compact-negative-number.js
- block-scoping-switch-dead-code.js
- block-scoping-switch-variable-scoping.js
- bug-capturing-func-maybealias-captured-mutate.ts
- bug-ref-prefix-postfix-operator.js
- bug-separate-memoization-due-to-callback-capturing.js
- bug-type-inference-control-flow.ts
- builtin-jsx-tag-lowered-between-mutations.js
- call-args-assignment.js
- call-args-destructuring-assignment.js
- call-spread-argument-mutable-iterator.js
- call-spread.js
- call-with-independently-memoizable-arg.js
- call.js
- capitalized-function-allowlist.js
- capture-indirect-mutate-alias-iife.js
- capture-indirect-mutate-alias.js
- capture-param-mutate.js
- capture-ref-for-later-mutation.tsx
- capture_mutate-across-fns-iife.js
- capture_mutate-across-fns.js
- capturing-arrow-function-1.js
- capturing-fun-alias-captured-mutate-2-iife.js
- capturing-fun-alias-captured-mutate-2.js
- capturing-fun-alias-captured-mutate-arr-2-iife.js
- capturing-fun-alias-captured-mutate-arr-2.js
- capturing-func-alias-captured-mutate-arr-iife.js
- capturing-func-alias-captured-mutate-arr.js
- capturing-func-alias-captured-mutate-iife.js
- capturing-func-alias-captured-mutate.js
- capturing-func-alias-computed-mutate-iife.js
- capturing-func-alias-computed-mutate.js
- capturing-func-alias-mutate-iife.js
- capturing-func-alias-mutate.js
- capturing-func-alias-receiver-computed-mutate-iife.js
- capturing-func-alias-receiver-computed-mutate.js
- capturing-func-alias-receiver-mutate-iife.js
- capturing-func-alias-receiver-mutate.js
- capturing-func-mutate-2.js
- capturing-func-mutate-3.js
- capturing-func-mutate-nested.js
- capturing-func-mutate.js
- capturing-func-no-mutate.js
- capturing-func-simple-alias-iife.js
- capturing-func-simple-alias.js
- capturing-function-1.js
- capturing-function-alias-computed-load-2-iife.js
- capturing-function-alias-computed-load-2.js
- capturing-function-alias-computed-load-3-iife.js
- capturing-function-alias-computed-load-3.js
- capturing-function-alias-computed-load-4-iife.js
- capturing-function-alias-computed-load-4.js
- capturing-function-alias-computed-load-iife.js
- capturing-function-alias-computed-load.js
- capturing-function-capture-ref-before-rename.js
- capturing-function-conditional-capture-mutate.js
- capturing-function-decl.js
- capturing-function-member-expr-arguments.js
- capturing-function-member-expr-call.js
- capturing-function-renamed-ref.js
- capturing-function-runs-inference.js
- capturing-function-shadow-captured.js
- capturing-function-skip-computed-path.js
- capturing-function-within-block.js
- capturing-member-expr.js
- capturing-nested-member-call.js
- capturing-nested-member-expr-in-nested-func.js
- capturing-nested-member-expr.js
- capturing-reference-changes-type.js
- capturing-variable-in-nested-block.js
- capturing-variable-in-nested-function.js
- chained-assignment-context-variable.js
- chained-assignment-expressions.js
- change-detect-reassign.js
- class-component-with-render-helper.js
- codegen-emit-imports-same-source.js
- codegen-emit-make-read-only.js
- codegen-inline-iife-reassign.ts
- codegen-inline-iife-storeprop.ts
- codegen-inline-iife.ts
- codegen-instrument-forget-test.js
- complex-while.js
- component-declaration-basic.flow.js
- component-inner-function-with-many-args.tsx
- component.js
- computed-call-evaluation-order.js
- computed-call-spread.js
- computed-load-primitive-as-dependency.js
- computed-store-alias.js
- concise-arrow-expr.js
- conditional-break-labeled.js
- conditional-early-return.js
- conditional-on-mutable.js
- conditional-set-state-in-render.js
- conflict-codegen-instrument-forget.js
- conflicting-dollar-sign-variable.js
- consecutive-use-memo.ts
- console-readonly.js
- const-propagation-into-function-expression-global.js
- const-propagation-into-function-expression-primitive.js
- const-propagation-phi-nodes.ts
- constant-computed.js
- constant-prop-across-objectmethod-def.js
- constant-prop-colliding-identifier.js
- constant-prop-to-object-method.js
- constant-propagate-global-phis-constant.js
- constant-propagate-global-phis.js
- constant-propagation-bit-ops.js
- constant-propagation-for.js
- constant-propagation-into-function-expressions.js
- constant-propagation-phi.js
- constant-propagation-string-concat.js
- constant-propagation-template-literal.js
- constant-propagation-unary-number.js
- constant-propagation-unary.js
- constant-propagation-while.js
- constant-propagation.js
- constructor.js
- context-variable-as-jsx-element-tag.js
- context-variable-reactive-explicit-control-flow.js
- context-variable-reactive-implicit-control-flow.js
- context-variable-reassigned-objectmethod.js
- context-variable-reassigned-outside-of-lambda.js
- context-variable-reassigned-reactive-capture.js
- context-variable-reassigned-two-lambdas.js
- controlled-input.js
- createElement-freeze.js
- custom-opt-out-directive.tsx
- dce-loop.js
- dce-unused-const.js
- dce-unused-postfix-update.js
- dce-unused-prefix-update.js
- debugger-memoized.js
- debugger.js
- declare-reassign-variable-in-closure.js
- deeply-nested-function-expressions-with-params.js
- default-param-array-with-unary.js
- default-param-calls-global-function.js
- default-param-with-empty-callback.js
- default-param-with-reorderable-callback.js
- delete-computed-property.js
- delete-property.js
- dependencies-outputs.js
- dependencies.js
- destructure-array-assignment-to-context-var.js
- destructure-array-declaration-to-context-var.js
- destructure-capture-global.js
- destructure-default-array-with-unary.js
- destructure-direct-reassignment.js
- destructure-in-branch-ssa.ts
- destructure-mixed-property-key-types.js
- destructure-object-assignment-to-context-var.js
- destructure-object-declaration-to-context-var.js
- destructure-param-string-literal-key-invalid-identifier.js
- destructure-param-string-literal-key.js
- destructure-string-literal-invalid-identifier-property-key.js
- destructure-string-literal-property-key.js
- destructuring-array-default.js
- destructuring-array-param-default.js
- destructuring-assignment-array-default.js
- destructuring-assignment.js
- destructuring-default-at-array-hole.js
- destructuring-default-at-explicit-null.js
- destructuring-default-at-explicit-undefined.js
- destructuring-default-past-end-of-array.js
- destructuring-mixed-scope-and-local-variables-with-default.js
- destructuring-mixed-scope-declarations-and-locals.js
- destructuring-object-default.js
- destructuring-object-param-default.js
- destructuring-object-pattern-within-rest.js
- destructuring-property-inference.js
- destructuring-same-property-identifier-names.js
- destructuring-with-conditional-as-default-value.js
- destructuring-with-typecast-as-default-value.flow.js
- destructuring.js
- do-while-break.js
- do-while-compound-test.js
- do-while-conditional-break.js
- do-while-continue.js
- do-while-early-unconditional-break.js
- do-while-simple.js
- dominator.js
- dont-memoize-primitive-function-call-non-escaping-useMemo.js
- dont-memoize-primitive-function-call-non-escaping.js
- dont-merge-if-dep-is-inner-declaration-of-previous-scope.js
- dont-merge-overlapping-scopes-store-const-used-later.js
- dont-merge-overlapping-scopes-with-intermediate-reassignment.js
- drop-methodcall-usecallback.js
- drop-methodcall-usememo.js
- early-return-nested-early-return-within-reactive-scope.js
- early-return-no-declarations-reassignments-dependencies.js
- early-return-within-reactive-scope.js
- early-return.js
- emit-freeze-conflicting-imports.js
- emit-freeze-nonconflicting-global-reference.js
- empty-catch-statement.ts
- empty-eslint-suppressions-config.js
- error._todo.computed-lval-in-destructure.js
- error.assign-global-in-component-tag-function.js
- error.assign-global-in-jsx-children.js
- error.assign-ref-in-effect-hint.js
- error.bailout-on-flow-suppression.js
- error.bailout-on-suppression-of-custom-rule.js
- error.bug-infer-mutation-aliasing-effects.js
- error.bug-invariant-codegen-methodcall.js
- error.bug-invariant-couldnt-find-binding-for-decl.js
- error.bug-invariant-expected-consistent-destructuring.js
- error.bug-invariant-local-or-context-references.js
- error.bug-invariant-unnamed-temporary.js
- error.call-args-destructuring-asignment-complex.js
- error.capitalized-function-call-aliased.js
- error.capitalized-function-call.js
- error.capitalized-method-call.js
- error.capture-ref-for-mutation.tsx
- error.conditional-hook-unknown-hook-react-namespace.js
- error.conditional-hooks-as-method-call.js
- error.context-variable-only-chained-assign.js
- error.declare-reassign-variable-in-function-declaration.js
- error.default-param-accesses-local.js
- error.dont-hoist-inline-reference.js
- error.emit-freeze-conflicting-global.js
- error.function-expression-references-variable-its-assigned-to.js
- error.handle-unexpected-exception-pipeline.ts
- error.hoist-optional-member-expression-with-conditional-optional.js
- error.hoist-optional-member-expression-with-conditional.js
- error.hoisting-simple-function-declaration.js
- error.hook-call-freezes-captured-identifier.tsx
- error.hook-call-freezes-captured-memberexpr.jsx
- error.hook-property-load-local-hook.js
- error.hook-ref-value.js
- error.invalid-ReactUseMemo-async-callback.js
- error.invalid-access-ref-during-render.js
- error.invalid-access-ref-in-reducer-init.js
- error.invalid-access-ref-in-reducer.js
- error.invalid-access-ref-in-render-mutate-object-with-ref-function.js
- error.invalid-access-ref-in-state-initializer.js
- error.invalid-aliased-ref-in-callback-invoked-during-render-.js
- error.invalid-array-push-frozen.js
- error.invalid-assign-current-inferred-ref-during-render.js
- error.invalid-assign-hook-to-local.js
- error.invalid-assing-to-ref-current-in-render.js
- error.invalid-computed-store-to-frozen-value.js
- error.invalid-conditional-call-aliased-hook-import.js
- error.invalid-conditional-call-aliased-react-hook.js
- error.invalid-conditional-call-non-hook-imported-as-hook.js
- error.invalid-conditional-setState-in-useMemo.js
- error.invalid-delete-computed-property-of-frozen-value.js
- error.invalid-delete-property-of-frozen-value.js
- error.invalid-derived-computation-in-effect.js
- error.invalid-destructure-assignment-to-global.js
- error.invalid-destructure-to-local-global-variables.js
- error.invalid-disallow-mutating-ref-in-render.js
- error.invalid-disallow-mutating-refs-in-render-transitive.js
- error.invalid-eval-unsupported.js
- error.invalid-function-expression-mutates-immutable-value.js
- error.invalid-global-reassignment-indirect.js
- error.invalid-hoisting-setstate.js
- error.invalid-hook-function-argument-mutates-local-variable.js
- error.invalid-impure-functions-in-render.js
- error.invalid-jsx-captures-context-variable.js
- error.invalid-known-incompatible-function.js
- error.invalid-known-incompatible-hook-return-property.js
- error.invalid-known-incompatible-hook.js
- error.invalid-mutate-after-aliased-freeze.js
- error.invalid-mutate-after-freeze.js
- error.invalid-mutate-context-in-callback.js
- error.invalid-mutate-context.js
- error.invalid-mutate-global-in-render-helper-phi-return-prop.js
- error.invalid-mutate-global-in-render-helper-prop.js
- error.invalid-mutate-phi-which-could-be-frozen.js
- error.invalid-mutate-props-in-effect-fixpoint.js
- error.invalid-mutate-props-via-for-of-iterator.js
- error.invalid-mutation-in-closure.js
- error.invalid-mutation-of-possible-props-phi-indirect.js
- error.invalid-nested-function-reassign-local-variable-in-effect.js
- error.invalid-non-imported-reanimated-shared-value-writes.jsx
- error.invalid-optional-member-expression-as-memo-dep-non-optional-in-body.js
- error.invalid-pass-hook-as-call-arg.js
- error.invalid-pass-hook-as-prop.js
- error.invalid-pass-mutable-function-as-prop.js
- error.invalid-pass-ref-to-function.js
- error.invalid-prop-mutation-indirect.js
- error.invalid-property-store-to-frozen-value.js
- error.invalid-props-mutation-in-effect-indirect.js
- error.invalid-read-ref-prop-in-render-destructure.js
- error.invalid-read-ref-prop-in-render-property-load.js
- error.invalid-reassign-const.js
- error.invalid-reassign-local-in-hook-return-value.js
- error.invalid-reassign-local-variable-in-async-callback.js
- error.invalid-reassign-local-variable-in-effect.js
- error.invalid-reassign-local-variable-in-hook-argument.js
- error.invalid-reassign-local-variable-in-jsx-callback.js
- error.invalid-reassign-variable-in-usememo.js
- error.invalid-ref-access-render-unary.js
- error.invalid-ref-in-callback-invoked-during-render.js
- error.invalid-ref-initialization-unary-not.js
- error.invalid-ref-value-as-props.js
- error.invalid-return-mutable-function-from-hook.js
- error.invalid-set-and-read-ref-during-render.js
- error.invalid-set-and-read-ref-nested-property-during-render.js
- error.invalid-setState-in-render-unbound-state.js
- error.invalid-setState-in-useMemo-indirect-useCallback.js
- error.invalid-setState-in-useMemo.js
- error.invalid-setstate-unconditional-with-keyed-state.js
- error.invalid-sketchy-code-use-forget.js
- error.invalid-ternary-with-hook-values.js
- error.invalid-type-provider-hook-name-not-typed-as-hook-namespace.js
- error.invalid-type-provider-hook-name-not-typed-as-hook.js
- error.invalid-type-provider-hooklike-module-default-not-hook.js
- error.invalid-type-provider-nonhook-name-typed-as-hook.js
- error.invalid-uncalled-function-capturing-mutable-values-memoizes-with-captures-values.js
- error.invalid-unclosed-eslint-suppression.js
- error.invalid-unconditional-set-state-hook-return-in-render.js
- error.invalid-unconditional-set-state-in-render.js
- error.invalid-unconditional-set-state-prop-in-render.js
- error.invalid-use-ref-added-to-dep-without-type-info.js
- error.invalid-useEffect-dep-not-memoized-bc-range-overlaps-hook.js
- error.invalid-useEffect-dep-not-memoized.js
- error.invalid-useInsertionEffect-dep-not-memoized.js
- error.invalid-useLayoutEffect-dep-not-memoized.js
- error.invalid-useMemo-async-callback.js
- error.invalid-useMemo-callback-args.js
- error.invalid-write-but-dont-read-ref-in-render.js
- error.invalid-write-ref-prop-in-render.js
- error.modify-state-2.js
- error.modify-state.js
- error.modify-useReducer-state.js
- error.mutable-range-shared-inner-outer-function.js
- error.mutate-function-property.js
- error.mutate-global-increment-op-invalid-react.js
- error.mutate-hook-argument.js
- error.mutate-property-from-global.js
- error.mutate-props.js
- error.nested-component-in-normal-function.js
- error.nested-hook-in-normal-function.js
- error.nomemo-and-change-detect.js
- error.not-useEffect-external-mutate.js
- error.propertyload-hook.js
- error.reassign-global-fn-arg.js
- error.reassignment-to-global-indirect.js
- error.reassignment-to-global.js
- error.ref-initialization-arbitrary.js
- error.ref-initialization-call-2.js
- error.ref-initialization-call.js
- error.ref-initialization-linear.js
- error.ref-initialization-nonif.js
- error.ref-initialization-other.js
- error.ref-initialization-post-access-2.js
- error.ref-initialization-post-access.js
- error.ref-like-name-not-Ref.js
- error.ref-like-name-not-a-ref.js
- error.ref-optional.js
- error.ref-value-in-custom-component-event-handler-wrapper.tsx
- error.ref-value-in-event-handler-wrapper.tsx
- error.repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency-later-mutation.js
- error.repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency-mutated-dep.js
- error.sketchy-code-rules-of-hooks.js
- error.store-property-in-global.js
- error.todo-allow-assigning-to-inferred-ref-prop-in-callback.js
- error.todo-for-await-loops.js
- error.todo-for-in-loop-with-context-variable-iterator.js
- error.todo-for-loop-with-context-variable-iterator.js
- error.todo-for-of-loop-with-context-variable-iterator.js
- error.todo-function-expression-references-later-variable-declaration.js
- error.todo-functiondecl-hoisting.tsx
- error.todo-handle-update-context-identifiers.js
- error.todo-hoist-function-decls.js
- error.todo-hoisted-function-in-unreachable-code.js
- error.todo-hoisting-simple-var-declaration.js
- error.todo-hook-call-spreads-mutable-iterator.js
- error.todo-invalid-jsx-in-catch-in-outer-try-with-finally.js
- error.todo-invalid-jsx-in-try-with-finally.js
- error.todo-kitchensink.js
- error.todo-missing-source-locations.js
- error.todo-nested-method-calls-lower-property-load-into-temporary.js
- error.todo-new-target-meta-property.js
- error.todo-object-expression-get-syntax.js
- error.todo-object-expression-set-syntax.js
- error.todo-optional-call-chain-in-optional.ts
- error.todo-preserve-memo-deps-mixed-optional-nonoptional-property-chain.js
- error.todo-reassign-const.js
- error.todo-repro-missed-memoization-from-capture-in-invoked-function-inferred-as-mutation.js
- error.todo-repro-missed-memoization-from-inferred-mutation-in-logger.js
- error.todo-repro-named-function-with-shadowed-local-same-name.js
- error.todo-repro-unmemoized-callback-captured-in-context-variable.tsx
- error.todo-useCallback-set-ref-nested-property-ref-modified-later-preserve-memoization.js
- error.todo-valid-functiondecl-hoisting.tsx
- error.todo.try-catch-with-throw.js
- error.unconditional-set-state-in-render-after-loop-break.js
- error.unconditional-set-state-in-render-after-loop.js
- error.unconditional-set-state-in-render-with-loop-throw.js
- error.unconditional-set-state-lambda.js
- error.unconditional-set-state-nested-function-expressions.js
- error.update-global-should-bailout.tsx
- error.useCallback-accesses-ref-mutated-later-via-function-preserve-memoization.js
- error.useCallback-set-ref-nested-property-dont-preserve-memoization.js
- error.useMemo-callback-generator.js
- error.useMemo-non-literal-depslist.ts
- error.validate-blocklisted-imports.ts
- error.validate-memoized-effect-deps-invalidated-dep-value.js
- error.validate-mutate-ref-arg-in-render.js
- error.validate-object-entries-mutation.js
- error.validate-object-values-mutation.js
- escape-analysis-destructured-rest-element.js
- escape-analysis-jsx-child.js
- escape-analysis-logical.js
- escape-analysis-non-escaping-interleaved-allocating-dependency.js
- escape-analysis-non-escaping-interleaved-allocating-nested-dependency.js
- escape-analysis-non-escaping-interleaved-primitive-dependency.js
- escape-analysis-not-conditional-test.js
- escape-analysis-not-if-test.js
- escape-analysis-not-switch-case.js
- escape-analysis-not-switch-test.js
- evaluation-order-mutate-call-after-dependency-load.ts
- evaluation-order-mutate-store-after-dependency-load.ts
- existing-variables-with-c-name.js
- expression-with-assignment-dynamic.js
- expression-with-assignment.js
- extend-scopes-if.js
- fast-refresh-dont-refresh-const-changes-prod.js
- fast-refresh-refresh-on-const-changes-dev.js
- fast-refresh-reloading.js
- flag-enable-emit-hook-guards.ts
- flatten-scopes-with-methodcall-hook.js
- flow-enum-inline.js
- for-empty-update-with-continue.js
- for-empty-update.js
- for-in-statement-body-always-returns.js
- for-in-statement-break.js
- for-in-statement-continue.js
- for-in-statement-empty-body.js
- for-in-statement-type-inference.js
- for-in-statement.js
- for-logical.js
- for-loop-let-undefined-decl.js
- for-loop-with-value-block-initializer.js
- for-multiple-variable-declarations-in-initializer.js
- for-of-break.js
- for-of-capture-item-of-local-collection-mutate-later-value-initially-null.js
- for-of-capture-item-of-local-collection-mutate-later.js
- for-of-conditional-break.js
- for-of-continue.js
- for-of-destructure.js
- for-of-immutable-collection.js
- for-of-iterator-of-immutable-collection.js
- for-of-mutate-item-of-local-collection.js
- for-of-mutate.tsx
- for-of-nonmutating-loop-local-collection.js
- for-of-simple.js
- for-return.js
- for-with-assignment-as-update.js
- frozen-after-alias.js
- function-declaration-reassign.js
- function-declaration-redeclare.js
- function-declaration-simple.js
- function-expr-directive.js
- function-expression-captures-value-later-frozen-jsx.js
- function-expression-maybe-mutates-hook-return-value.js
- function-expression-prototype-call-mutating.js
- function-expression-prototype-call.js
- function-expression-with-store-to-parameter.js
- function-param-assignment-pattern.js
- functionexpr-conditional-access-2.tsx
- functionexpr–conditional-access.js
- global-jsx-tag-lowered-between-mutations.js
- globals-Boolean.js
- globals-Number.js
- globals-String.js
- globals-dont-resolve-local-useState.js
- hoist-destruct.js
- hoisted-context-variable-in-outlined-fn.js
- hoisted-declaration-with-scope.tsx
- hoisted-function-declaration.js
- hoisting-computed-member-expression.js
- hoisting-functionexpr-conditional-dep.tsx
- hoisting-invalid-tdz-let.js
- hoisting-let-declaration-without-initialization.js
- hoisting-member-expression.js
- hoisting-nested-block-statements.js
- hoisting-nested-const-declaration-2.js
- hoisting-nested-const-declaration.js
- hoisting-nested-let-declaration-2.js
- hoisting-nested-let-declaration.js
- hoisting-object-method.js
- hoisting-reassigned-let-declaration.js
- hoisting-reassigned-twice-let-declaration.js
- hoisting-recursive-call-within-lambda.js
- hoisting-recursive-call.ts
- hoisting-repro-variable-used-in-assignment.js
- hoisting-setstate-captured-indirectly-jsx.js
- hoisting-simple-const-declaration.js
- hoisting-simple-function-expression.js
- hoisting-simple-let-declaration.js
- hoisting-within-lambda.js
- holey-array-expr.js
- holey-array-pattern-dce-2.js
- holey-array-pattern-dce.js
- hook-call-freezes-captured-memberexpr.tsx
- hook-call.js
- hook-declaration-basic.flow.js
- hook-inside-logical-expression.js
- hook-noAlias.js
- hook-property-load-local.js
- hook-ref-callback.js
- hooks-freeze-arguments.js
- hooks-freeze-possibly-mutable-arguments.js
- hooks-with-React-namespace.js
- hooks-with-prefix.js
- idx-method-no-outlining-wildcard.js
- idx-method-no-outlining.js
- idx-no-outlining.js
- ignore-inner-interface-types.ts
- ignore-use-no-forget.js
- iife-inline-ternary.js
- iife-return-modified-later-phi.js
- iife-return-modified-later.js
- immutable-hooks.js
- import-as-local.tsx
- inadvertent-mutability-readonly-class.js
- inadvertent-mutability-readonly-lambda.js
- incompatible-destructuring-kinds.js
- independent-across-if.js
- independent.js
- independently-memoize-object-property.js
- infer-compile-hooks-with-multiple-params.js
- infer-computed-delete.js
- infer-dont-compile-components-with-multiple-params.js
- infer-function-React-memo.js
- infer-function-assignment.js
- infer-function-expression-component.js
- infer-function-forwardRef.js
- infer-functions-component-with-hook-call.js
- infer-functions-component-with-jsx.js
- infer-functions-component-with-ref-arg.js
- infer-functions-hook-with-hook-call.js
- infer-functions-hook-with-jsx.js
- infer-global-object.js
- infer-nested-object-method.jsx
- infer-no-component-annot.ts
- infer-no-component-nested-jsx.js
- infer-no-component-obj-return.js
- infer-phi-primitive.js
- infer-property-delete.js
- infer-sequential-optional-chain-nonnull.ts
- infer-skip-components-without-hooks-or-jsx.js
- infer-types-through-type-cast.flow.js
- inline-jsx-transform.js
- inner-memo-value-not-promoted-to-outer-scope-dynamic.js
- inner-memo-value-not-promoted-to-outer-scope-static.js
- interdependent-across-if.js
- interdependent.js
- invalid-jsx-in-catch-in-outer-try-with-catch.js
- invalid-jsx-in-try-with-catch.js
- invalid-jsx-lowercase-localvar.jsx
- invalid-set-state-in-effect-verbose-derived-event.js
- invalid-set-state-in-effect-verbose-force-update.js
- invalid-set-state-in-effect-verbose-non-local-derived.js
- invalid-setState-in-useEffect-namespace.js
- invalid-setState-in-useEffect-transitive.js
- invalid-setState-in-useEffect-via-useEffectEvent.js
- invalid-setState-in-useEffect.js
- invalid-unused-usememo.js
- invalid-useMemo-no-return-value.js
- invalid-useMemo-return-empty.js
- inverted-if-else.js
- inverted-if.js
- issue852.js
- issue933-disjoint-set-infinite-loop.js
- jsx-attribute-default-to-true.tsx
- jsx-attribute-with-jsx-element-value.js
- jsx-attribute-with-jsx-fragment-value.flow.js
- jsx-bracket-in-text.jsx
- jsx-empty-expression.js
- jsx-fragment.js
- jsx-freeze.js
- jsx-html-entity.js
- jsx-local-memberexpr-tag-conditional.js
- jsx-local-memberexpr-tag.js
- jsx-local-tag-in-lambda.js
- jsx-lowercase-localvar-memberexpr-in-lambda.jsx
- jsx-lowercase-localvar-memberexpr.jsx
- jsx-lowercase-memberexpr.jsx
- jsx-member-expression-tag-grouping.js
- jsx-member-expression.js
- jsx-memberexpr-tag-in-lambda.js
- jsx-namespaced-name.js
- jsx-outlining-child-stored-in-id.js
- jsx-outlining-dup-key-diff-value.js
- jsx-outlining-dupe-attr-after-rename.js
- jsx-outlining-dupe-key-dupe-component.js
- jsx-outlining-duplicate-prop.js
- jsx-outlining-jsx-stored-in-id.js
- jsx-outlining-separate-nested.js
- jsx-outlining-simple.js
- jsx-outlining-with-non-jsx-children.js
- jsx-preserve-escape-character.js
- jsx-preserve-whitespace.tsx
- jsx-reactive-local-variable-member-expr.tsx
- jsx-spread.js
- jsx-string-attribute-expression-container.js
- jsx-string-attribute-non-ascii.js
- jsx-tag-evaluation-order-non-global.js
- jsx-tag-evaluation-order.tsx
- jsx-ternary-local-variable.tsx
- labeled-break-within-label-loop.ts
- labeled-break-within-label-switch.ts
- lambda-array-access-member-expr-captured.ts
- lambda-array-access-member-expr-param.ts
- lambda-capture-returned-alias.js
- lambda-mutate-shadowed-object.js
- lambda-mutated-non-reactive-to-reactive.js
- lambda-mutated-ref-non-reactive.js
- lambda-reassign-primitive.js
- lambda-reassign-shadowed-primitive.js
- lambda-return-expression.ts
- log-pruned-memoization.js
- logical-expression-object.js
- logical-expression.js
- logical-reorder.flow.js
- loop-unused-let.js
- lower-context-access-hook-guard.js
- lower-context-acess-multiple.js
- lower-context-selector-simple.js
- maybe-mutate-object-in-callback.js
- mege-consecutive-scopes-dont-merge-with-different-deps.js
- member-inc.js
- memoization-comments.js
- memoize-primitive-function-calls.js
- memoize-value-block-value-conditional.js
- memoize-value-block-value-logical-no-sequence.js
- memoize-value-block-value-logical.js
- memoize-value-block-value-sequence.js
- merge-consecutive-nested-scopes.js
- merge-consecutive-scopes-deps-subset-of-decls.js
- merge-consecutive-scopes-no-deps.js
- merge-consecutive-scopes-objects.js
- merge-consecutive-scopes-reordering.js
- merge-consecutive-scopes.js
- merge-nested-scopes-with-same-inputs.js
- merge-scopes-callback.js
- merged-scopes-are-valid-effect-deps.js
- meta-property.mjs
- method-call-computed.js
- method-call-fn-call.js
- method-call.js
- mixedreadonly-mutating-map.js
- module-scoped-bindings.js
- multi-directive.js
- multiple-calls-to-hoisted-callback-from-other-callback.js
- multiple-components-first-is-invalid.js
- mutable-lifetime-loops.js
- mutable-lifetime-with-aliasing.js
- mutable-liverange-loop.js
- mutate-captured-arg-separately.js
- mutate-outer-scope-within-value-block.ts
- mutation-during-jsx-construction.js
- mutation-within-capture-and-mutablerange.tsx
- mutation-within-jsx-and-break.tsx
- mutation-within-jsx.tsx
- name-anonymous-functions-outline.js
- name-anonymous-functions.js
- nested-function-shadowed-identifiers.js
- nested-function-with-param-as-captured-dep.ts
- nested-optional-chains.ts
- nested-optional-member-expr.js
- nested-scopes-begin-same-instr-valueblock.ts
- nested-scopes-hook-call.js
- new-does-not-mutate-class.ts
- new-spread.js
- no-flow-bailout-unrelated.js
- noAlias-filter-on-array-prop.js
- non-null-assertion.ts
- nonmutated-spread-hook-return.js
- nonmutated-spread-props-jsx.js
- nonmutated-spread-props-local-indirection.js
- nonmutated-spread-props.js
- nonmutating-capture-in-unsplittable-memo-block.ts
- nonoptional-load-from-optional-memberexpr.js
- nonreactive-noescaping-dependency-can-inline-into-consuming-scope.js
- numeric-literal-as-object-property-key.js
- obj-literal-cached-in-if-else.js
- obj-literal-mutated-after-if-else.js
- obj-mutated-after-if-else-with-alias.js
- obj-mutated-after-if-else.js
- obj-mutated-after-nested-if-else-with-alias.js
- object-access-assignment.js
- object-computed-access-assignment.js
- object-entries-mutation.js
- object-expression-captures-function-with-global-mutation.js
- object-expression-computed-key-constant-number.js
- object-expression-computed-key-constant-string.js
- object-expression-computed-key-modified-during-after-construction-sequence-expr.js
- object-expression-computed-key-modified-during-after-construction.js
- object-expression-computed-key-mutate-key-while-constructing-object.js
- object-expression-computed-key-non-reactive.js
- object-expression-computed-key-object-mutated-later.js
- object-expression-computed-key.js
- object-expression-computed-member.js
- object-expression-member-expr-call.js
- object-expression-string-literal-key.js
- object-keys.js
- object-literal-method-call-in-ternary-test.js
- object-literal-method-derived-in-ternary-consequent.js
- object-literal-method-in-ternary-consequent.js
- object-literal-method-in-ternary-test.js
- object-literal-spread-element.js
- object-method-maybe-alias.js
- object-method-shorthand-3.js
- object-method-shorthand-aliased-mutate-after.js
- object-method-shorthand-derived-value.js
- object-method-shorthand-hook-dep.js
- object-method-shorthand-mutated-after.js
- object-method-shorthand.js
- object-mutated-in-consequent-alternate-both-return.js
- object-pattern-params.js
- object-properties.js
- object-shorthand-method-1.js
- object-shorthand-method-2.js
- object-shorthand-method-nested.js
- object-values-mutation.js
- object-values.js
- option-enable-change-variable-codegen.js
- optional-call-chain-in-logical-expr.ts
- optional-call-chain-in-ternary.ts
- optional-call-chained.js
- optional-call-logical.js
- optional-call-simple.js
- optional-call-with-independently-memoizable-arg.js
- optional-call-with-optional-property-load.js
- optional-call.js
- optional-computed-load-static.js
- optional-computed-member-expression.js
- optional-member-expression-as-memo-dep.js
- optional-member-expression-call-as-property.js
- optional-member-expression-chain.js
- optional-member-expression-inverted-optionals-parallel-paths.js
- optional-member-expression-single-with-unconditional.js
- optional-member-expression-single.js
- optional-member-expression-with-optional-member-expr-as-property.js
- optional-member-expression.js
- optional-method-call.js
- optional-receiver-method-call.js
- optional-receiver-optional-method.js
- outlined-destructured-params.js
- outlined-helper.js
- outlining-in-func-expr.js
- outlining-in-react-memo.js
- overlapping-scopes-interleaved-by-terminal.js
- overlapping-scopes-interleaved.js
- overlapping-scopes-shadowed.js
- overlapping-scopes-shadowing-within-block.js
- overlapping-scopes-while.js
- overlapping-scopes-within-block.js
- partial-early-return-within-reactive-scope.js
- phi-reference-effects.ts
- phi-type-inference-array-push-consecutive-phis.js
- phi-type-inference-array-push.js
- phi-type-inference-property-store.js
- preserve-jsxtext-stringliteral-distinction.js
- preserve-memo-deps-conditional-property-chain-less-precise-deps.js
- preserve-memo-deps-conditional-property-chain.js
- preserve-memo-deps-optional-property-chain.js
- preserve-use-memo-transition-no-ispending.js
- preserve-use-memo-unused-state.js
- primitive-alias-mutate.js
- primitive-as-dep-nested-scope.js
- primitive-as-dep.js
- primitive-reassigned-loop-force-scopes-enabled.js
- prop-capturing-function-1.js
- property-assignment.js
- property-call-evaluation-order.js
- property-call-spread.js
- props-method-dependency.js
- prune-scopes-whose-deps-invalidate-array.js
- prune-scopes-whose-deps-invalidate-jsx.js
- prune-scopes-whose-deps-invalidate-new.js
- prune-scopes-whose-deps-invalidate-object.js
- prune-scopes-whose-deps-may-invalidate-array.js
- quoted-strings-in-jsx-attribute-escaped.js
- quoted-strings-in-jsx-attribute.js
- quoted-strings-jsx-attribute-escaped-constant-propagation.js
- react-namespace.js
- reactive-control-dependency-do-while-indirect.js
- reactive-control-dependency-do-while-test.js
- reactive-control-dependency-for-init.js
- reactive-control-dependency-for-test.js
- reactive-control-dependency-for-update.js
- reactive-control-dependency-forin-collection.js
- reactive-control-dependency-forof-collection.js
- reactive-control-dependency-from-interleaved-reactivity-do-while.js
- reactive-control-dependency-from-interleaved-reactivity-for-in.js
- reactive-control-dependency-from-interleaved-reactivity-for-init.js
- reactive-control-dependency-from-interleaved-reactivity-for-of.js
- reactive-control-dependency-from-interleaved-reactivity-for-test.js
- reactive-control-dependency-from-interleaved-reactivity-for-update.js
- reactive-control-dependency-from-interleaved-reactivity-if.js
- reactive-control-dependency-from-interleaved-reactivity-switch.js
- reactive-control-dependency-from-interleaved-reactivity-while.js
- reactive-control-dependency-if.js
- reactive-control-dependency-on-context-variable.js
- reactive-control-dependency-phi-setState-type.js
- reactive-control-dependency-reactive-after-fixpoint.js
- reactive-control-dependency-switch-case-test.js
- reactive-control-dependency-switch-condition.js
- reactive-control-dependency-via-mutation-if.js
- reactive-control-dependency-via-mutation-switch.js
- reactive-control-dependency-while-test.js
- reactive-dependencies-non-optional-properties-inside-optional-chain.js
- reactive-dependency-fixpoint.js
- reactive-dependency-nonreactive-captured-with-reactive.js
- reactive-dependency-object-captured-with-reactive-mutated.js
- reactive-ref-param.tsx
- reactive-ref.tsx
- reactive-scope-grouping.js
- reactive-scopes-if.js
- reactive-scopes.js
- reactivity-analysis-interleaved-reactivity.js
- reactivity-analysis-reactive-via-mutation-of-computed-load.js
- reactivity-analysis-reactive-via-mutation-of-property-load.js
- reactivity-via-aliased-mutation-array.js
- reactivity-via-aliased-mutation-lambda.js
- reactivity-via-aliased-mutation-through-property-load.js
- reactivity-via-readonly-alias-of-mutable-value.js
- readonly-object-method-calls-mutable-lambda.js
- readonly-object-method-calls.js
- reanimated-no-memo-arg.js
- reanimated-shared-value-writes.jsx
- reassign-global-hook-arg.js
- reassign-global-return.js
- reassign-in-while-loop-condition.js
- reassign-object-in-context.js
- reassign-primitive-in-context.js
- reassign-variable-in-usememo.js
- reassigned-phi-in-returned-function-expression.js
- reassignment-conditional.js
- reassignment-separate-scopes.js
- reassignment.js
- recursive-function-expression.js
- recursive-function.js
- reduce-reactive-cond-deps-break-in-scope.ts
- reduce-reactive-cond-deps-cfg-nested-testifelse.ts
- reduce-reactive-cond-deps-return-in-scope.ts
- ref-current-aliased-no-added-to-dep.js
- ref-current-aliased-not-added-to-dep-2.js
- ref-current-field-not-added-to-dep.js
- ref-current-field-write-not-added-to-dep.js
- ref-current-not-added-to-dep-2.js
- ref-current-not-added-to-dep.js
- ref-current-optional-field-no-added-to-dep.js
- ref-current-write-not-added-to-dep.js
- ref-in-effect.js
- ref-like-name-in-effect.js
- ref-like-name-in-useCallback-2.js
- ref-like-name-in-useCallback.js
- ref-parameter-mutate-in-effect.js
- regexp-literal.js
- relay-transitive-mixeddata.js
- rename-source-variables-nested-function.js
- rename-source-variables-nested-object-method.js
- rename-source-variables.ts
- renaming-jsx-tag-lowercase.tsx
- reordering-across-blocks.js
- repro-aliased-capture-aliased-mutate.js
- repro-aliased-capture-mutate.js
- repro-allocating-ternary-test-instruction-scope.ts
- repro-backedge-reference-effect.js
- repro-bailout-nopanic-shouldnt-outline.js
- repro-capturing-func-maybealias-captured-mutate.ts
- repro-context-var-reassign-no-scope.js
- repro-dce-circular-reference.js
- repro-declaration-for-all-identifiers.js
- repro-dispatch-spread-event-marks-event-frozen.js
- repro-dont-add-hook-guards-on-retry.js
- repro-dont-memoize-array-with-capturing-map-after-hook.js
- repro-dont-memoize-array-with-mutable-map-after-hook.js
- repro-duplicate-import-specifier.ts
- repro-duplicate-instruction-from-merge-consecutive-scopes.js
- repro-duplicate-type-import.tsx
- repro-false-positive-ref-validation-in-use-effect.js
- repro-for-in-in-try.js
- repro-for-loop-in-try.js
- repro-for-of-in-try.js
- repro-hoisting-variable-collision.js
- repro-hoisting.js
- repro-independently-memoized-property-load-for-method-call.js
- repro-instruction-part-of-already-closed-scope.js
- repro-invalid-destructuring-reassignment-undefined-variable.js
- repro-invalid-phi-as-dependency.tsx
- repro-invalid-pruned-scope-leaks-value-via-alias.ts
- repro-invalid-pruned-scope-leaks-value.ts
- repro-invalid-reactivity-value-block.ts
- repro-invalid-scope-merging-value-blocks.ts
- repro-local-mutation-of-new-object-from-destructured-prop.js
- repro-memoize-array-with-immutable-map-after-hook.js
- repro-memoize-for-of-collection-when-loop-body-returns.js
- repro-missing-dependency-if-within-while.js
- repro-missing-memoization-lack-of-phi-types-explicit-types.js
- repro-missing-memoization-lack-of-phi-types.js
- repro-missing-phi-after-dce-merge-scopes.js
- repro-mutable-range-extending-into-ternary.js
- repro-mutate-ref-in-function-passed-to-hook.js
- repro-mutate-result-of-function-call-with-frozen-argument-in-function-expression.js
- repro-mutate-result-of-method-call-on-frozen-value-in-function-expression.js
- repro-mutate-result-of-method-call-on-frozen-value-is-allowed.js
- repro-nested-try-catch-in-usememo.js
- repro-no-declarations-in-reactive-scope-with-early-return.js
- repro-no-value-for-temporary-reactive-scope-with-early-return.js
- repro-no-value-for-temporary.js
- repro-non-identifier-object-keys.ts
- repro-object-expression-computed-key-modified-during-after-construction-hoisted-sequence-expr.js
- repro-object-fromEntries-entries.js
- repro-object-pattern.js
- repro-preds-undefined-try-catch-return-primitive.js
- repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js
- repro-propagate-type-of-ternary-jsx.js
- repro-propagate-type-of-ternary-nested.js
- repro-reassign-props.js
- repro-reassign-to-variable-without-mutable-range.js
- repro-ref-mutable-range.tsx
- repro-renaming-conflicting-decls.js
- repro-retain-source-when-bailout.js
- repro-returned-inner-fn-mutates-context.js
- repro-returned-inner-fn-reassigns-context.js
- repro-scope-missing-mutable-range.js
- repro-separate-memoization-due-to-callback-capturing.js
- repro-separate-scopes-for-divs.js
- repro-slow-validate-preserve-memo.ts
- repro-stale-closure-forward-reference.js
- repro-undefined-expression-of-jsxexpressioncontainer.js
- repro-unmerged-fbt-call-merge-overlapping-reactive-scopes.js
- repro-unreachable-code-early-return-in-useMemo.js
- repro-useMemo-if-else-both-early-return.js
- repro.js
- resolve-react-hooks-based-on-import-name.js
- rest-param-with-array-pattern.js
- rest-param-with-identifier.js
- rest-param-with-object-spread-pattern.js
- return-conditional.js
- return-ref-callback-structure.js
- return-ref-callback.js
- return-undefined.js
- reverse-postorder.js
- rewrite-phis-in-lambda-capture-context.js
- same-variable-as-dep-and-redeclare-maybe-frozen.js
- same-variable-as-dep-and-redeclare.js
- script-source-type.js
- sequence-expression.js
- sequential-destructuring-assignment-to-scope-declarations.js
- sequential-destructuring-both-mixed-local-and-scope-declaration.js
- sequentially-constant-progagatable-if-test-conditions.js
- shapes-object-key.ts
- should-bailout-without-compilation-annotation-mode.js
- should-bailout-without-compilation-infer-mode.js
- simple-alias.js
- simple-function-1.js
- simple-scope.js
- simple.js
- skip-useMemoCache.js
- ssa-arrayexpression.js
- ssa-call-jsx-2.js
- ssa-call-jsx.js
- ssa-cascading-eliminated-phis.js
- ssa-complex-multiple-if.js
- ssa-complex-single-if.js
- ssa-for-of.js
- ssa-for-trivial-update.js
- ssa-for.js
- ssa-if-else.js
- ssa-leave-case.js
- ssa-multiple-phis.js
- ssa-nested-loops-no-reassign.js
- ssa-nested-partial-phi.js
- ssa-nested-partial-reassignment.js
- ssa-newexpression.js
- ssa-non-empty-initializer.js
- ssa-objectexpression-phi.js
- ssa-objectexpression.js
- ssa-property-alias-alias-mutate-if.js
- ssa-property-alias-if.js
- ssa-property-alias-mutate-if.js
- ssa-property-alias-mutate-inside-if.js
- ssa-property-alias-mutate.js
- ssa-property-call.js
- ssa-property-mutate-2.js
- ssa-property-mutate-alias.js
- ssa-property-mutate.js
- ssa-property.js
- ssa-reassign-in-rval.js
- ssa-reassign.js
- ssa-renaming-ternary-destruction-with-mutation.js
- ssa-renaming-ternary-destruction.js
- ssa-renaming-ternary-with-mutation.js
- ssa-renaming-ternary.js
- ssa-renaming-unconditional-ternary-with-mutation.js
- ssa-renaming-unconditional-ternary.js
- ssa-renaming-unconditional-with-mutation.js
- ssa-renaming-via-destructuring-with-mutation.js
- ssa-renaming-via-destructuring.js
- ssa-renaming-with-mutation.js
- ssa-renaming.js
- ssa-return.js
- ssa-shadowing.js
- ssa-sibling-phis.js
- ssa-simple-phi.js
- ssa-simple.js
- ssa-single-if.js
- ssa-switch.js
- ssa-throw.js
- ssa-while-no-reassign.js
- ssa-while.js
- store-via-call.js
- store-via-new.js
- switch-global-propertyload-case-test.js
- switch-non-final-default.js
- switch-with-fallthrough.js
- switch-with-only-default.js
- switch.js
- tagged-template-in-hook.js
- tagged-template-literal.js
- target-flag-meta-internal.js
- target-flag.js
- template-literal.js
- temporary-accessed-outside-scope.js
- temporary-at-start-of-value-block.js
- temporary-property-load-accessed-outside-scope.js
- ternary-assignment-expression.js
- ternary-expression.js
- timers.js
- todo-function-expression-captures-value-later-frozen.js
- todo-global-load-cached.tsx
- todo-global-property-load-cached.tsx
- todo-granular-iterator-semantics.js
- todo.error.object-pattern-computed-key.js
- todo.lower-context-access-array-destructuring.js
- todo.lower-context-access-destructure-multiple.js
- todo.lower-context-access-mixed-array-obj.js
- todo.lower-context-access-nested-destructuring.js
- todo.lower-context-access-property-load.js
- todo.memoize-loops-that-produce-memoizeable-values.js
- todo.unnecessary-lambda-memoization.js
- transitive-alias-fields.js
- transitive-freeze-array.js
- transitive-freeze-function-expressions.js
- trivial.js
- try-catch-alias-try-values.js
- try-catch-empty-try.js
- try-catch-in-nested-scope.ts
- try-catch-logical-and-optional.js
- try-catch-logical-expression.js
- try-catch-maybe-null-dependency.ts
- try-catch-multiple-value-blocks.js
- try-catch-mutate-outer-value.js
- try-catch-nested-optional-chaining.js
- try-catch-nullish-coalescing.js
- try-catch-optional-call.js
- try-catch-optional-chaining.js
- try-catch-ternary-expression.js
- try-catch-try-immediately-returns.js
- try-catch-try-immediately-throws-after-constant-propagation.js
- try-catch-try-value-modified-in-catch-escaping.js
- try-catch-try-value-modified-in-catch.js
- try-catch-with-catch-param.js
- try-catch-with-return.js
- try-catch-within-function-expression-returns-caught-value.js
- try-catch-within-function-expression.js
- try-catch-within-mutable-range.js
- try-catch-within-object-method-returns-caught-value.js
- try-catch-within-object-method.js
- try-catch.js
- ts-as-expression-default-value.tsx
- ts-enum-inline.tsx
- ts-instantiation-default-param.tsx
- ts-instantiation-expression.tsx
- ts-non-null-expression-default-value.tsx
- type-alias-declaration.ts
- type-alias-used-as-annotation.ts
- type-alias-used-as-annotation_.flow.js
- type-alias-used-as-variable-annotation.ts
- type-alias-used-as-variable-annotation_.flow.js
- type-alias.flow.js
- type-args-test-binary-operator.js
- type-binary-operator.js
- type-cast-expression.flow.js
- type-field-load.js
- type-inference-array-from.js
- type-provider-log-default-import.tsx
- type-provider-log.tsx
- type-provider-store-capture-namespace-import.tsx
- type-provider-store-capture.tsx
- type-provider-tagged-template-expression.js
- type-test-field-load-binary-op.js
- type-test-field-store.js
- type-test-polymorphic.js
- type-test-primitive.js
- type-test-return-type-inference.js
- unary-expr.js
- unclosed-eslint-suppression-skips-all-components.js
- unconditional-break-label.js
- uninitialized-declaration-in-reactive-scope.js
- unknown-hooks-do-not-assert.js
- unlabeled-break-within-label-loop.ts
- unlabeled-break-within-label-switch.ts
- unmemoized-nonreactive-dependency-is-pruned-as-dependency.js
- unused-array-middle-element.js
- unused-array-rest-element.js
- unused-conditional.js
- unused-logical-assigned-to-variable.js
- unused-logical.js
- unused-object-element-with-rest.js
- unused-object-element.js
- unused-optional-method-assigned-to-variable.js
- unused-ternary-assigned-to-variable.js
- update-expression-constant-propagation.js
- update-expression-in-sequence.js
- update-expression-on-function-parameter-1.js
- update-expression-on-function-parameter-2.js
- update-expression-on-function-parameter-3.js
- update-expression-on-function-parameter-4.js
- update-expression.ts
- update-global-in-callback.tsx
- use-callback-simple.js
- use-effect-cleanup-reassigns.js
- use-memo-noemit.js
- use-memo-simple.js
- use-no-forget-module-level.js
- use-no-forget-multiple-with-eslint-suppression.js
- use-no-forget-with-eslint-suppression.js
- use-no-forget-with-no-errors.js
- use-no-memo-module-level.js
- use-no-memo-module-scope-usememo-function-scope.js
- use-no-memo-simple.js
- use-operator-call-expression.js
- use-operator-conditional.js
- use-operator-method-call.js
- useActionState-dispatch-considered-as-non-reactive.js
- useCallback-call-second-function-which-captures-maybe-mutable-value-dont-preserve-memoization.js
- useCallback-call-second-function-which-captures-maybe-mutable-value-preserve-memoization.js
- useCallback-maybe-modify-free-variable-dont-preserve-memoization-guarantee.js
- useCallback-maybe-modify-free-variable-preserve-memoization-guarantee.js
- useCallback-multiple-callbacks-modifying-same-ref-preserve-memoization.js
- useCallback-ref-in-render.js
- useCallback-set-ref-nested-property-preserve-memoization.js
- useCallback-set-ref-nested-property.js
- useCallback-set-ref-value-dont-preserve-memoization.js
- useCallback-set-ref-value-preserve-memoization.js
- useContext-maybe-mutate-context-in-callback.js
- useContext-read-context-in-callback-if-condition.js
- useContext-read-context-in-callback.js
- useEffect-arg-memoized.js
- useEffect-external-mutate.js
- useEffect-global-pruned.js
- useEffect-method-call.js
- useEffect-namespace-pruned.js
- useEffect-nested-lambdas.js
- useEffect-snap-test.js
- useImperativeHandle-ref-mutate.js
- useMemo-arrow-implicit-return.js
- useMemo-empty-return.js
- useMemo-explicit-null-return.js
- useMemo-if-else-multiple-return.js
- useMemo-independently-memoizeable.js
- useMemo-inlining-block-return.js
- useMemo-inverted-if.js
- useMemo-labeled-statement-unconditional-return.js
- useMemo-logical.js
- useMemo-mabye-modified-free-variable-dont-preserve-memoization-guarantees.js
- useMemo-mabye-modified-free-variable-preserve-memoization-guarantees.js
- useMemo-maybe-modified-later-dont-preserve-memoization-guarantees.js
- useMemo-maybe-modified-later-preserve-memoization-guarantees.js
- useMemo-multiple-if-else.js
- useMemo-multiple-returns.js
- useMemo-named-function.ts
- useMemo-nested-ifs.js
- useMemo-simple-preserved-nomemo.js
- useMemo-simple-preserved.js
- useMemo-simple.js
- useMemo-switch-no-fallthrough.js
- useMemo-switch-return.js
- useMemo-with-optional.js
- useReducer-returned-dispatcher-is-non-reactive.js
- useState-and-other-hook-unpruned-dependency.js
- useState-pruned-dependency-change-detect.js
- useState-unpruned-dependency.js
- valid-set-state-in-useEffect-from-ref.js
- valid-setState-in-effect-from-ref-arithmetic.js
- valid-setState-in-effect-from-ref-array-index.js
- valid-setState-in-effect-from-ref-function-call.js
- valid-setState-in-useEffect-controlled-by-ref-value.js
- valid-setState-in-useEffect-listener-transitive.js
- valid-setState-in-useEffect-listener.js
- valid-setState-in-useEffect-via-useEffectEvent-listener.js
- valid-setState-in-useEffect-via-useEffectEvent-with-ref.js
- valid-setState-in-useLayoutEffect-from-ref.js
- validate-no-set-state-in-render-uncalled-function-with-mutable-range-is-valid.js
- validate-no-set-state-in-render-unconditional-lambda-which-conditionally-sets-state-ok.js
- value-block-mutates-outer-value.ts
- weakmap-constructor.js
- weakset-constructor.js
- while-break.js
- while-conditional-continue.js
- while-logical.js
- while-property.js
- while-with-assignment-in-test.js
Frequently Asked Questions
What's in the compiler/ directory?
The compiler/ directory contains 1288 files and 20 subdirectories in the react codebase.
What subdirectories does compiler/ contain?
compiler/ contains 20 subdirectory(ies): ecma, effect-derived-computations, exhaustive-deps, fbt, gating, global-types, infer-effect-dependencies, inner-function, meta-isms, new-mutability, original-reactive-scopes-fork, preserve-existing-memoization-guarantees, preserve-memo-validation, propagate-scope-deps-hir-fork, reduce-reactive-deps, rules-of-hooks, ssr, static-components, transform-fire, type-annotations.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free