CODEFOSSIL · react
compileProgram
function in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Program.ts:400 · Born 2023-06-02 (DERIVED, confidence 1.00)
Changed [compiler] Remove fallback compilation pipeline dead code (#35827)
8b6b11f· Joseph SavonaChanged [compiler] Feature flag cleanup (#35825)
b16b768· Joseph SavonaChanged [compiler] Collapse CompilerError.{invariant,simpleInvariant} (#35614)
006ae37· Joseph SavonaChanged [compiler] Ignore ESLint suppressions when ValidateMemoDeps enabled (#35184)
fca172e· Joseph SavonaChanged [compiler] Deprecate noEmit, add outputMode (#35112)
50e7ec8· Joseph SavonaChanged [compiler] Migrate CompilerError.invariant to new CompilerDiagnostic infra (#34403)
474f258· laurenChanged [compiler] Derive ErrorSeverity from ErrorCategory (#34401)
60d9b97· laurenChanged [compiler] Aggregate error reporting, separate eslint rules (#34176)
7d29ecb· Joseph SavonaChanged [compiler][gating] Custom opt out directives (experimental option) (#33328)
f9ae0a4· mofeiZChanged [compiler][entrypoint] Fix edgecases for noEmit and opt-outs (#33148)
3820740· mofeiZ fix · INFERREDChanged [compiler][be] Make program traversal more readable (#33147)
5069e18· mofeiZChanged [compiler] Emit CompileSkip before CompileSuccess event (#33012)
9938f83· laurenChanged [compiler] Fix inferEffectDependencies lint false positives (#32769)
8039f1b· mofeiZChanged [compiler] Avoid failing builds when import specifiers conflict or shadow vars (#32663)
c61e75b· mofeiZChanged [compiler][bugfix] Don't insert hook guards in retry pipeline (#32665)
0962f68· mofeiZ fix · INFERREDChanged [compiler] detect and throw on untransformed required features (#32512)
5398b71· mofeiZChanged [compiler] clean up retry pipeline: `fireRetry` flag -> compileMode (#32511)
7939d92· mofeiZChanged [compiler][ez] Stop bailing out early for hoisted gated functions (#32597)
93b61fc· mofeiZChanged [compiler][rfc] Hacky retry pipeline for fire (#32164)
152bfe3· mofeiZChanged [compile] Error on fire outside of effects and ensure correct compilation, correct import (#31798)
45a720f· Jordan BrownChanged [compiler] add fire imports (#31797)
ab27231· Jordan BrownChanged JSX Outlining (#30956)
c91b3b0· Sathya GunasekaranChanged [rcr] Update default runtimeModule to react-compiler-runtime (#31144)
3fd3364· laurenChanged [compiler] Errors in earlier functions dont stop subsequent compilation
071dd00· Joe SavonaChanged [compiler] Validate environment config while parsing plugin opts
177b241· Joe SavonaChanged [compiler] Run compiler pipeline on 'use no forget'
e9a869f· Lauren TanChanged [compiler] Patch error reporting for blocklisted imports
8d74e8c· Mofei ZhangChanged [compiler][ez] Option to bail out on blocklisted imports
2d2cc04· Mofei ZhangChanged [compiler][be] Clean up compilation skipping logic in Program
3871fda· Mofei ZhangChanged [compiler] Add context callee import if required
9d2da59· Sathya GunsasekaranChanged [compiler] Rewrite useContext callee
83cc13f· Sathya GunsasekaranChanged [compiler] Make inserting outlined functions more resilient
9f3bbb0· Lauren TanChanged [compiler] Always emit FuncDecl for outlined functions
88bf4e1· Lauren TanChanged [compiler] Correctly insert (Arrow)FunctionExpressions
a6b7e43· Lauren TanChanged Compiler: unfork prettier config (#30205)
fd2b3e1· Jan KassensChanged [compiler] General-purpose function outlining
9d7f02d· Joe SavonaChanged [compiler] Refactor Program to use queue of functions to compile
a8c5e23· Joe SavonaChanged fix[compiler] remove duplicate parsePluginOptions from the compilePro… (#29831)
a714685· Yuto Yoshino fix · INFERREDChanged compiler: Log metrics on pruned memo blocks/values
cdbafc8· Joe SavonaChanged [compiler] Debug tool to emit change detection code rather than memoization
5c420e3· Mike VitousekChanged Use unique name for c import local identifier
7e3be12· Joe SavonaChanged Support HMR
6b23c25· Joe SavonaChanged Update babel plugin to use runtime from react/compiler-runtime (#2918)
ebe58ee· Jan KassensChanged [dx] Update error messages for config parsing
fc7467a· Joe SavonaChanged [babel] Add a sources option
6bf64df· Sathya GunsasekaranChanged [eslint] Enforce generic array type syntax
cd3f56b· Sathya GunasekaranChanged [logger] Add CompilerDiagnostic category, thread Logger into environment
b35779c· Mofei ZhangChanged Add config option to ignore 'use no forget' directives
f5d99ba· Jordan BrownChanged Infer type of React function
ad8f196· Sathya GunasekaranChanged [other] Change instrumentation to use an optional gating identifier; record filepath
a06ded9· Mofei ZhangChanged [Babel] Add support for "use memo"
770ca4a· Sathya GunasekaranChanged Enable hook syntax support
ca3d16c· Joe SavonaChanged Allow module level "use no forget"
5142aff· Lauren TanChanged Fix lints
48024b7· Mike Vitousek fix · INFERREDChanged Option to bail on Flow react-rule suppressions
19476aa· Mike VitousekChanged Support customizable eslint suppressions
bc145f6· Joe SavonaChanged Early branch with new type inference foundation
7ca3b00· Joe SavonaChanged [validation] Runtime validation for hook calls
41b164e· Mofei ZhangChanged [be] Move codegen logic Program.ts -> Codegen
37e1975· Mofei ZhangChanged Add logging for number of memo *blocks* (in addition to slots)
9fb3a26· Joe SavonaChanged [Babel] Fix up eslint suppression logic
6d10143· Lauren Tan fix · INFERREDChanged [ez] Use BabelFn type
f135942· Sathya GunasekaranChanged [babel] Refactor handleError to pass the error first
7aca04a· Sathya GunasekaranChanged Don't allow null to be passed to validateEnvironmentConfig
3f7b9e2· Sathya GunasekaranChanged Use starred-block for multi line comments
6405c98· Sathya GunasekaranChanged Fix to only add imports if we compiled something
702aadd· Joe Savona fix · INFERREDChanged Don't plumb PartialEnvironmentConfig
1c53385· Sathya GunasekaranChanged [babel] Outline insertNewFunctionDeclaration
58a10c0· Sathya GunasekaranChanged Remove hasForgetMutatedOriginalSource
d8734b5· Sathya GunasekaranChanged [babel] Simplify noEmit and hasCriticalError check
bccd06a· Sathya GunasekaranChanged Check if critical error before throwing
688305a· Sathya GunasekaranChanged Validate options before replacing with compiled function
cf70ef8· Sathya GunasekaranChanged Add runtime validation for ExternalFunction
d6ff65e· Sathya GunasekaranChanged [ez] Check for use-before-decl only when gating is on
60af667· Sathya GunasekaranChanged [babel] Check if the gated component is used before decl
adadc21· Sathya GunasekaranChanged [babel] Clean up import logic a bit
0a7bb7a· Lauren TanChanged [babel] Allow userspace useMemoCache
ac170f4· Lauren TanChanged [pipeline] panicOnBailout -> panicThreshold; remove isDev logging
f993f0c· Mofei ZhangChanged [pipeline] Make logging more structured
b2230f6· Mofei ZhangChanged Revamp compilation modes
869466b· Mofei ZhangChanged Disable compilation of "Components" inside class methods
41c23e8· Joe SavonaChanged Enable compilation of FunctionExpressions
ddc9f80· Joe SavonaChanged [rfc] Dont convert ArrowFunction to FunctionDecl
cee08ba· Joe SavonaChanged Address feedback
298bf55· Lauren TanChanged [be] More babel plugin Program cleanup
3ec95c5· Lauren TanChanged [be] Move more logic into Imports module
25e3575· Lauren TanChanged [be] Refactor gating logic in babel plugin
dd8b743· Lauren TanChanged Add first example of error suggestion
3fb8937· Lauren TanChanged Refactor CompilerErrorDetails
448ed2b· Lauren TanChanged Add InvalidReact and InvalidConfig error severities
6c4318e· Lauren TanChanged Make CompilerError.invariant assert the condition
3f2b346· Lauren TanChanged Remove codeframe/nodepath options from CompilerError
6c425f6· Lauren TanChanged [babel-plugin][ez] Rename shouldCompile to shouldVisitNode
f467774· Lauren TanChanged Add a noEmit compiler option
98633d1· Lauren TanChanged [babel-plugin] buildFunctionDeclaration errors are todos
a558b15· Lauren TanChanged Unify UnsafeInput and InvalidInput
501cf92· Lauren TanChanged [config] Clean up codegen imports and gating
5ba0a03· Mofei ZhangChanged [devx] emit calls to `makeReadOnly` for debugging
a65e9cd· Mofei ZhangChanged Move entrypoint into its own directory
479ef40· Lauren TanChanged Make CompilerEntrypoint a little more generic
2eded94· Lauren TanBorn Delegate BabelPlugin to CompilerEntrypoint
b98ee34· Lauren Tan