[compiler] Feature flag cleanup#35825
Merged
josephsavona merged 19 commits intofacebook:mainfrom Feb 20, 2026
Merged
Conversation
josephsavona
commented
Feb 20, 2026
Remove unused throwInvalidReact and matchCompilerDiagnostic functions from ValidateNoUntransformedReferences.ts (left over from removing inferEffectDependencies and enableFire flags), and remove unused Identifier import from ValidateNoRefAccessInRender.ts (left over from removing enableInferEventHandlers flag).
a0ae56e to
e9206fe
Compare
afdaad1 to
995eea1
Compare
github-actions Bot
pushed a commit
that referenced
this pull request
Feb 20, 2026
Cleans up feature flags that do not have an active experiment and which we don't currently plan to ship, one commit per flag. Notable removals: * Automatic (inferred) effect dependencies / Fire: abandoned due to early feedback. Shipped useEffectEvent which addresses some of the use-cases. * Inline JSX transform (experimented, not a consistent win) * Context selectors (experimented, not a sufficient/consistent win given the benefit the compiler already provides) * Instruction Reordering (will try a different approach) To decide which features to remove, I looked at Meta's internal repos as well as eslint-pugin-react-hooks to see which flags were never overridden anywhere. That gave a longer list of flags, from which I then removed some features that I know are used in OSS. DiffTrain build for [b16b768](b16b768)
github-actions Bot
pushed a commit
that referenced
this pull request
Feb 20, 2026
Cleans up feature flags that do not have an active experiment and which we don't currently plan to ship, one commit per flag. Notable removals: * Automatic (inferred) effect dependencies / Fire: abandoned due to early feedback. Shipped useEffectEvent which addresses some of the use-cases. * Inline JSX transform (experimented, not a consistent win) * Context selectors (experimented, not a sufficient/consistent win given the benefit the compiler already provides) * Instruction Reordering (will try a different approach) To decide which features to remove, I looked at Meta's internal repos as well as eslint-pugin-react-hooks to see which flags were never overridden anywhere. That gave a longer list of flags, from which I then removed some features that I know are used in OSS. DiffTrain build for [b16b768](b16b768)
github-actions Bot
pushed a commit
to code/lib-react
that referenced
this pull request
Feb 22, 2026
Cleans up feature flags that do not have an active experiment and which we don't currently plan to ship, one commit per flag. Notable removals: * Automatic (inferred) effect dependencies / Fire: abandoned due to early feedback. Shipped useEffectEvent which addresses some of the use-cases. * Inline JSX transform (experimented, not a consistent win) * Context selectors (experimented, not a sufficient/consistent win given the benefit the compiler already provides) * Instruction Reordering (will try a different approach) To decide which features to remove, I looked at Meta's internal repos as well as eslint-pugin-react-hooks to see which flags were never overridden anywhere. That gave a longer list of flags, from which I then removed some features that I know are used in OSS. DiffTrain build for [b16b768](facebook@b16b768)
github-actions Bot
pushed a commit
to code/lib-react
that referenced
this pull request
Feb 22, 2026
Cleans up feature flags that do not have an active experiment and which we don't currently plan to ship, one commit per flag. Notable removals: * Automatic (inferred) effect dependencies / Fire: abandoned due to early feedback. Shipped useEffectEvent which addresses some of the use-cases. * Inline JSX transform (experimented, not a consistent win) * Context selectors (experimented, not a sufficient/consistent win given the benefit the compiler already provides) * Instruction Reordering (will try a different approach) To decide which features to remove, I looked at Meta's internal repos as well as eslint-pugin-react-hooks to see which flags were never overridden anywhere. That gave a longer list of flags, from which I then removed some features that I know are used in OSS. DiffTrain build for [b16b768](facebook@b16b768)
mofeiZ
added a commit
that referenced
this pull request
Apr 17, 2026
…es rule The `component-hook-factories rule` was removed in #35825 as part of a feature flag cleanup, but was listed in the README as part of the manual config example. This broke users who used a manual config (copied from the old README) in eslint-plugin-react-hooks 7.1.0. This adds back a deprecated no-op rule as a fix.
mofeiZ
added a commit
that referenced
this pull request
Apr 17, 2026
…6307) The `component-hook-factories` rule was removed in #35825 as part of a feature flag cleanup, but was listed in the README as part of the manual config example. This broke users who used a manual config (copied from the old README) in eslint-plugin-react-hooks 7.1.0. This adds back a deprecated no-op rule as a fix. #35825 removed other rules (`automatic-effect-dependencies` and `fire`), but these were for experimental features that did not ship. These were also not referenced in the README.
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 17, 2026
…6307) The `component-hook-factories` rule was removed in #35825 as part of a feature flag cleanup, but was listed in the README as part of the manual config example. This broke users who used a manual config (copied from the old README) in eslint-plugin-react-hooks 7.1.0. This adds back a deprecated no-op rule as a fix. #35825 removed other rules (`automatic-effect-dependencies` and `fire`), but these were for experimental features that did not ship. These were also not referenced in the README. DiffTrain build for [bc24980](bc24980)
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 17, 2026
…6307) The `component-hook-factories` rule was removed in #35825 as part of a feature flag cleanup, but was listed in the README as part of the manual config example. This broke users who used a manual config (copied from the old README) in eslint-plugin-react-hooks 7.1.0. This adds back a deprecated no-op rule as a fix. #35825 removed other rules (`automatic-effect-dependencies` and `fire`), but these were for experimental features that did not ship. These were also not referenced in the README. DiffTrain build for [bc24980](bc24980)
srubin
added a commit
to descriptinc/react
that referenced
this pull request
Apr 17, 2026
Resolves conflicts with upstream's feature-flag cleanup (facebook#35825): - Keep local enableUseTypeAnnotations, enableNonReactiveAnnotation, and new enableInferNonReactiveHandlers flags in Environment.ts — our NonReactive work still needs them. - Accept upstream deletion of InferEffectDependencies.ts and the BuiltInAutodepsId / BuiltInEventHandlerId shapes (the autodeps/Fire feature was abandoned upstream). - Keep BuiltInNonReactiveId registration in ObjectShape.ts and add a matching BuiltInReactiveId registration for the Reactive<T> opt-out. - Drop dead isEventHandlerType helper from ValidateNoRefAccessInRender. - Re-add lowerType import in InferTypes.ts since our StoreLocal branch needs it. yarn snap: 1731 / 1731 passing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cleans up feature flags that do not have an active experiment and which we don't currently plan to ship, one commit per flag. Notable removals:
To decide which features to remove, I looked at Meta's internal repos as well as eslint-pugin-react-hooks to see which flags were never overridden anywhere. That gave a longer list of flags, from which I then removed some features that I know are used in OSS.