CODEFOSSIL · react
runWithEnvironment
function in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Pipeline.ts:148 · Born 2023-10-03 (DERIVED, confidence 1.00)
Changed [compiler] Port React Compiler to Rust (#36173)
03e7755· Joseph SavonaChanged [compiler] Remove tryRecord, add catch-all error handling, fix remaining throws (#35881)
9075330· Joseph Savona fix · INFERREDChanged [compiler] Cleanup: consistent tryRecord() wrapping and error recording (#35880)
8a33fb3· Joseph SavonaChanged [compiler] Phase 3: Make lower() always produce HIRFunction (#35878)
d6558f3· Joseph SavonaChanged [compiler] Phase 4 (batch 2), 5, 6: Update remaining passes for fault tolerance (#35876)
9b2d801· Joseph SavonaChanged [compiler] Phase 4 (batch 1): Update validation passes to record errors on env (#35875)
e3e5d95· Joseph SavonaChanged [compiler] Phase 2+7: Wrap pipeline passes in tryRecord for fault tolerance (#35874)
426a394· Joseph SavonaChanged [compiler] Feature flag cleanup (#35825)
b16b768· Joseph SavonaChanged [compiler] Only run validations with env.logErrors on outputMode: 'lint' (#35216)
38a6f4e· Jorge CabiedesChanged [compiler][poc] Reuse ValidateExhaustiveDeps for effect dep validation (#35285)
ec9cc00· Joseph SavonaChanged [compiler] Adjustments to exhaustive deps messages, disable the lint rule (#35192)
9599e7a· Joseph SavonaChanged [compiler] Implement exhaustive dependency checking for manual memoization (#34394)
bcc3fd8· Joseph SavonaChanged [compiler] Deprecate noEmit, add outputMode (#35112)
50e7ec8· Joseph SavonaChanged [compiler][poc] Quick experiment with SSR-optimization pass (#35102)
4cf770d· Joseph SavonaChanged [compiler] source location validator (#35109)
3a495ae· NathanChanged [compiler] _exp version of ValidateNoDerivedComputationsInEffects take precedence over stable version when enabled (#35099)
5e94655· Jorge CabiedesChanged [compiler] Update ValidateNoDerivedComputationsInEffects_exp to log the error instead of throwing (#34972)
7296120· Jorge CabiedesChanged [Compiler] Improve error for calculate in render useEffect validation (#34580)
09056ab· Jorge CabiedesChanged [compiler] Allow setStates in use{Layout,Insertion}Effect where the set value is derived from a ref (#34462)
835b009· laurenChanged [compiler] Improve name hints for outlined functions (#34434)
665de2e· Joseph SavonaChanged [compiler] Option to infer names for anonymous functions (#34410)
a9410fb· Joseph SavonaChanged [compiler][wip] Remove old mutation/aliasing implementation (#34028)
eaf6adb· Joseph SavonaChanged [compiler] Delete PropagatePhiTypes (#34107)
7deda94· Joseph SavonaChanged [compiler] rebase #32285 (#34102)
d3b26b2· Joseph SavonaChanged [compiler] Reuse DropManualMemoization for ValidateNoVoidUseMemo (#34001)
b5c1637· laurenChanged [compiler] Add new ValidateNoVoidUseMemo pass (#33990)
c60eebf· laurenChanged [compiler] Validate against setState in all effect types (#33753)
6f4294a· Joseph SavonaChanged [compiler] New mutability/aliasing model (#33494)
66cfe04· Joseph SavonaChanged [compiler] Validate against mutable functions being frozen
0db8db1· Joe SavonaChanged [forgive] Log inferEffectDependencies (#32996)
71d0896· laurenChanged [compiler] Refactor validations to return Result and log where appropriate
e3c0642· Joe SavonaChanged [compiler] Validate static components
5f4c5c9· Joe SavonaChanged [compiler] clean up retry pipeline: `fireRetry` flag -> compileMode (#32511)
7939d92· mofeiZChanged [compiler][rfc] Hacky retry pipeline for fire (#32164)
152bfe3· mofeiZChanged [compiler] validation against calling impure functions (#31960)
7f3826e· Joseph SavonaChanged [compiler] transform fire calls (#31796)
03297e0· Jordan BrownChanged [compiler][be] Logger based debug printing in test runner (#31809)
d325f87· mofeiZChanged [compiler][be] Playground now compiles entire program (#31774)
e30872a· mofeiZChanged Optimize method calls w props receiver (#31775)
a1b3bd0· Joseph SavonaChanged [compiler] Infer deps configuration (#31616)
2a9f4c0· Jordan BrownChanged [compiler] First cut at dep inference (#31386)
e697386· Jordan BrownChanged [compiler] Delete propagateScopeDeps (non-hir) (#31199)
fd018af· mofeiZChanged JSX Outlining (#30956)
c91b3b0· Sathya GunasekaranChanged [compiler] Allow ReactElement symbol to be configured when inlining jsx (#30996)
632f88d· Jack PopeChanged [compiler] Add JSX inlining optimization (#30867)
5dcb009· Jack PopeChanged [compiler][rewrite] PropagateScopeDeps hir rewrite
206df66· Mofei ZhangChanged [compiler][cleanup] Remove unused enableReactiveScopesInHIR flag
43264a6· Mofei ZhangChanged [compiler] Validate against JSX in try statements
d2413bf· Joe SavonaChanged [compiler] Off-by-default validation against setState directly in passive effect
c39da3e· Joe SavonaChanged [compiler] Promote temporaries when necessary to prevent codegen reordering over side-effectful operations
d50e024· Mike VitousekChanged [compiler] Rewrite useContext callee
83cc13f· Sathya GunsasekaranChanged [compiler] Add lowerContextAccess pass
e948a5a· Sathya GunsasekaranChanged [compiler] Stay in SSA form through entire pipeline
3d61b9b· Joe SavonaChanged [compiler] Fix issue with macro arguments being outlined
3af905d· Mike Vitousek fix · INFERREDChanged Compiler: unfork prettier config (#30205)
fd2b3e1· Jan KassensChanged [compiler][patch] Don't wrap non-ascii fbt operands in JSXExpressionContainer
b2ec044· Mofei ZhangChanged [compiler] General-purpose function outlining
9d7f02d· Joe SavonaChanged [compiler] Validate against locals being reassigned after render
4c9a2d2· Joe SavonaChanged [compiler][hir] Correctly remove non-existent terminal preds when pruning labels
7d9861e· Mofei ZhangChanged [compiler] Support method-call version of macro functions
dbc5f36· Joe SavonaChanged [compiler] Instruction reordering
59e73d9· Joe SavonaChanged [compiler] HIR-based FlattenScopesWithHooksOrUse
b5b9daa· Joe SavonaChanged [compiler] HIR-based FlattenReactiveLoops
43c17d1· Joe SavonaChanged [compiler] Prune dependencies that are only used by useRef or useState
c69211a· Mike VitousekChanged [compiler] Debug tool to emit change detection code rather than memoization
5c420e3· Mike VitousekChanged [compiler] Option to always take the non-memo branch
8b01a2e· Mike VitousekChanged [compiler] Option for preserving calls to useMemo/useCallback
28fe581· Mike VitousekChanged [hir-rewrite] Remove breaks to HIR ScopeTerminal after converting to reactiveFunction IR
18f4a38· Mofei ZhangChanged [hir] Rewrite buildReactiveBlocks -> buildReactiveScopeTerminalsHIR
2b2d305· Mofei ZhangChanged [hir] Re-implement mergeOverlappingReactiveScopes (+ bugfix)
a44559b· Mofei Zhang fix · INFERREDChanged [HIR] Assert program blocks and scopes are properly nested
10e11c4· Mofei ZhangChanged [HIR] Naive implementation of pruneUnusedLabels in HIR
40474b8· Mofei ZhangChanged [be] Stabilize block ids
d87ba1b· Mofei ZhangChanged HIR-based MergeOverlappingScopes
f707cb5· Joe SavonaChanged HIR-based AlignReactiveScopesToBlockScopes
f4fbeb8· Joe SavonaChanged Support use operator
8b9edaf· Joe SavonaChanged Remove disableAllMemoization flag
b00300c· Joe SavonaChanged [logger] Add CompilerDiagnostic category, thread Logger into environment
b35779c· Mofei ZhangChanged Fix block scoping of declarations with early return
1b5ae06· Joe Savona fix · INFERREDChanged Fix for method call not memoizing in same scope as outer call
79e3fc0· Joe Savona fix · INFERREDChanged MemoizeFbtOperandsInSameScope operates on HIR
ebbada3· Joe SavonaChanged Avoid conflicting names for reactive scope codegen
8faed2a· Joe SavonaChanged Prune scopes whose deps always invalidate
f4455ef· Joe SavonaChanged [other] Change instrumentation to use an optional gating identifier; record filepath
a06ded9· Mofei ZhangChanged [be] Remove @enableMergeConsecutiveScopes flag, feature is stable
09d122a· Joe SavonaChanged Add an optional validation to bail out on capitalized function calls
a927040· Jordan BrownChanged [be] Change validate functions to not return unnecessary Result
6924786· Joe SavonaChanged [be] Remove ValidateFrozenLambdas
bde30f0· Joe SavonaChanged Improve validateNoRefAccessInRender
5f1b8fd· Joe SavonaChanged [be] Extract computeUnconditionalBlocks() helper
6dae958· Joe SavonaChanged Validate that all variable references are consistently local/context
6da1912· Joe SavonaChanged Early branch with new type inference foundation
7ca3b00· Joe SavonaChanged Todo for early return within reactive scopes
4c68da2· Joe SavonaChanged Separate mode to validate preserving manual memoization
c77acb3· Joe SavonaChanged Validation that useMemo/useCallback is preserved in the output
af1aa8d· Joe SavonaChanged [patch] ObjectMethods should have the same scope as their parent ObjectExpressions
12de013· Mofei ZhangChanged 🌲 Create scopes for primitive operations
9be2efd· Joe SavonaChanged 🌲 Separate pass for lowering reactive scopes
b339129· Joe SavonaChanged [be] Move codegen logic Program.ts -> Codegen
37e1975· Mofei ZhangChanged New approach to hook validation
0c0bedd· Joe SavonaChanged [RFC] useEffect dependency memoization check
d7db416· Joe SavonaChanged [be] Flag and test for unexpected exceptions during compilations
f47685c· Mofei ZhangChanged Add validation against instructions not part of their scope
c424cbb· Joe SavonaChanged Handle IIFE with logical mutated later
35fee31· Joe SavonaChanged Fix for IIFE return values mutated later
0d3f388· Joe Savona fix · INFERREDChanged HIR-based reactive identifier analysis
d5c3fb8· Joe SavonaChanged Improve MergeConsecutiveScopes
87b1549· Joe SavonaChanged [be] Rename InlineUseMemo imports
529568c· Joe SavonaChanged Generalize InlineUseMemo to inline IIFEs
428c475· Joe SavonaChanged Reorder InlineUseMemo after type inference
444a1ad· Joe SavonaChanged [be] s/DropUseMemo/DropManualMemoization/
74c6c99· Joe SavonaChanged Promote inlineUseMemo to stable (remove flag)
80d867d· Joe SavonaChanged [be] Improve feature flags setup
3489055· Joe SavonaBorn [be] Access all features flags through Environment
9fc5e55· Joe Savona