Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1019 commits
Select commit Hold shift + click to select a range
7cafeff
[Flight] Close Debug Channel when All Lazy References Have Been GC:ed…
sebmarkbage Jul 7, 2025
8a6c589
[Flight] Keep a separate ref count for debug chunks (#33717)
sebmarkbage Jul 7, 2025
223f81d
[Flight] Flush performance track once we have no more pending chunks …
sebmarkbage Jul 7, 2025
c932e45
[Fizz] Name content inside "Suspense fallback" (#33723)
sebmarkbage Jul 7, 2025
e43986f
Finally remove favorSafetyOverHydrationPerf (#33619)
rickhanlonii Jul 7, 2025
e4314a0
[tests] Assert on component stack for Maximum Update error (#33686)
rickhanlonii Jul 7, 2025
b44a99b
[Fiber] Name content inside "Suspense fallback" (#33724)
sebmarkbage Jul 8, 2025
f1ecf82
[Flight] Optimize Async Stack Collection (#33727)
sebmarkbage Jul 8, 2025
bbea677
[Flight] Lazy load objects from the debug channel (#33728)
sebmarkbage Jul 8, 2025
befc124
[Fizz] Render preamble eagerly (#33730)
gnoff Jul 8, 2025
777264b
[Flight] Fix stack getting object limited (#33733)
sebmarkbage Jul 8, 2025
a7a1165
[Flight] Don't track Promise stack if there's no owner (#33734)
sebmarkbage Jul 8, 2025
d35fef9
[compiler] Fix for consecutive DCE'd branches with phis (#33725)
josephsavona Jul 8, 2025
956d770
[compiler] Improve IIFE inlining (#33726)
josephsavona Jul 8, 2025
8ba3501
[Flight] Don't dedupe references to deferred objects (#33741)
sebmarkbage Jul 9, 2025
3a43e72
[Flight] Create a fast path parseStackTrace which skips generating a …
sebmarkbage Jul 9, 2025
49ded1d
[Flight] Optimize Retention of Weak Promises Abit (#33736)
sebmarkbage Jul 9, 2025
150f022
[Flight] Ignore async stack frames when determining if a Promise was …
sebmarkbage Jul 9, 2025
e6dc25d
[Flight] Always defer Promise values if they're not already resolved …
sebmarkbage Jul 9, 2025
033edca
[Flight] Yolo Retention of Promises (#33737)
sebmarkbage Jul 9, 2025
60b5271
[Flight] Call finishHaltedTask on sync aborted tasks in stream abort …
sebmarkbage Jul 9, 2025
ec4374c
[compiler] Show logged errors in playground (#33740)
josephsavona Jul 9, 2025
4a3ff8e
[compiler] Errors for eval(), with statments, class declarations (#33…
josephsavona Jul 10, 2025
81e1ee7
[compiler] Support inline enums (flow/ts), type declarations (#33747)
josephsavona Jul 10, 2025
0bfa404
[compiler] More precise errors for invalid import/export/namespace st…
josephsavona Jul 10, 2025
96c61b7
[compiler] Add CompilerError.UnsupportedJS variant (#33750)
josephsavona Jul 10, 2025
463b808
[Fizz] Reset the segent id assignment when postponing the root (#33755)
gnoff Jul 10, 2025
eed2560
[Flight] Treat empty message as a close signal (#33756)
sebmarkbage Jul 10, 2025
eb7f8b4
[Flight] Add Separate Outgoing Debug Channel (#33754)
sebmarkbage Jul 10, 2025
97cdd5d
[eslint] Do not allow useEffectEvent fns to be called in arbitrary cl…
jbrown215 Jul 10, 2025
345ca24
[Flight] Remove unused fork configs (#33785)
eps1lon Jul 15, 2025
56d0dda
[Flight] Switch to `__turbopack_load_by_url__` (#33791)
eps1lon Jul 15, 2025
2f0e7e5
[Flight] Don't block on debug channel if it's not wired up (#33757)
sebmarkbage Jul 15, 2025
fe81314
[compiler] Check TSAsExpression and TSNonNullExpression reorderabilit…
henryqdineen Jul 15, 2025
d85ec5f
[Flight] Assume `__turbopack_load_by_url__ ` returns a cached Promise…
eps1lon Jul 16, 2025
996d0eb
Allow runtime_build_and_test action to trigger manually (#33796)
jackpope Jul 16, 2025
9fec565
fix: log renders from passive effects for only newly finished work (#…
hoxyq Jul 16, 2025
da7487b
[Flight] Skip the stack frame of built-in wrappers that create or awa…
sebmarkbage Jul 16, 2025
dffacc7
InferEffectDeps takes a React.AUTODEPS sigil (#33799)
jbrown215 Jul 17, 2025
28d4bc4
[Flight] Make debug info and console log resolve in predictable order…
sebmarkbage Jul 20, 2025
e9638c3
Clean up feature flag to use lazy public instances in Fabric (#33943)
rubennorte Jul 21, 2025
b9af140
[Flight] Use the JSX as the await stack if an await is not available …
sebmarkbage Jul 21, 2025
0dca9c2
[Flight] Use the Promise of the first await even if that is cut off (…
sebmarkbage Jul 21, 2025
ac7da9d
[Flight] Make it more obvious what the short name in the I/O descript…
eps1lon Jul 21, 2025
074e927
Change autodeps configuration (#33800)
jbrown215 Jul 21, 2025
bb4418d
[DevTools] Linkify Source View (#33954)
sebmarkbage Jul 21, 2025
7513996
[DevTools] Unify by using ReactFunctionLocation type instead of Sourc…
sebmarkbage Jul 22, 2025
f6fb1a0
[Flight] Remove superfluous whitespace when console method is called …
eps1lon Jul 23, 2025
3586a7f
[DevTools] Allow file:/// urls to be opened in editor (#33965)
sebmarkbage Jul 23, 2025
edac0dd
[DevTools] Add a Code Editor Sidebar Pane in the Chrome Sources Tab (…
sebmarkbage Jul 23, 2025
3d14fcf
[Flight] Use about: protocol instead of rsc: protocol for fake evals …
sebmarkbage Jul 24, 2025
4f34cc4
[Fiber] Don't throw away the Error object retaining the owner stack (…
sebmarkbage Jul 24, 2025
3082604
[DevTools] Feature detect sources panel (#33987)
sebmarkbage Jul 24, 2025
5020d48
[DevTools] Feature detect createSidebarPane (#33988)
sebmarkbage Jul 24, 2025
448f781
[compiler] Fix for false positive mutation of destructured spread obj…
josephsavona Jul 24, 2025
6f4294a
[compiler] Validate against setState in all effect types (#33753)
josephsavona Jul 24, 2025
0d39496
[compiler] Enable additional lints by default (#33752)
josephsavona Jul 24, 2025
707e321
[compiler][wip] Improve diagnostic infra (#33751)
josephsavona Jul 24, 2025
7284802
[compiler] Improve more error messages (#33758)
josephsavona Jul 24, 2025
48bc166
[compiler] Update diagnostics for ValidatePreservedManualMemoization …
josephsavona Jul 24, 2025
a39da6c
[compiler] Use new diagnostics for core inference errors (#33760)
josephsavona Jul 24, 2025
7f51055
[compiler] Cleanup diagnostic messages (#33765)
josephsavona Jul 24, 2025
2ae8b3d
[compiler] Use new diagnostic printing in playground (#33767)
josephsavona Jul 24, 2025
bcea869
[compiler][rfc] Enable more validations in playground. (#33777)
josephsavona Jul 24, 2025
129aa85
[compiler] Use diagnostic for "found suppression" error (#33981)
josephsavona Jul 24, 2025
5a04619
[Flight] Properly close stream when no chunks need to be written afte…
gnoff Jul 25, 2025
99be14c
[Flight] Promote enableAsyncDebugInfo to stable without enableCompone…
sebmarkbage Jul 25, 2025
7ca2d4c
Work around Chrome DevTools crash on `performance.measure` (#33997)
eps1lon Jul 25, 2025
142fd27
[DevTools] Add Option to Open Local Files directly in External Editor…
sebmarkbage Jul 25, 2025
b1a6f03
[DevTools] Rerender when the browser theme changes (#33992)
sebmarkbage Jul 25, 2025
190758e
[DevTools] Add column to vscode editor preset (#33994)
sebmarkbage Jul 25, 2025
36c2bf5
[DevTools] Allow all file links in Chrome DevTools to open in externa…
sebmarkbage Jul 25, 2025
b2c3049
[DevTools] Use the hard coded url instead of the local storage url fo…
sebmarkbage Jul 25, 2025
12483a1
[compiler] Fix for edge cases of mutation of potentially frozen value…
josephsavona Jul 25, 2025
8c587a2
[compiler] clarify text for setState-in-effect error (#33991)
josephsavona Jul 25, 2025
2aa5f9d
[compiler] fix false positive "mutate frozen" validation with refs (#…
josephsavona Jul 25, 2025
19baee8
[Runtime] Fix CI (#33999)
eps1lon Jul 25, 2025
cc01584
fix: `React.use` inside `React.lazy`-ed component on SSR (#33941)
hi-ogawa Jul 28, 2025
4a58b63
[DevTools] Add "suspended by" Section to Component Inspector Sidebar …
sebmarkbage Jul 28, 2025
eaee530
Add changelog entry for 19.1.1 (#34021)
jackpope Jul 28, 2025
101b20b
[DevTools] Add a little bar indicating time span of an async entry re…
sebmarkbage Jul 28, 2025
ab2681a
[DevTools] Skeleton for Suspense tab (#34020)
eps1lon Jul 28, 2025
904989f
Clean up 19.1.1 changelog (#34023)
gaearon Jul 28, 2025
5dd622e
[compiler] Disambiguate between void, implicit, and explicit returns …
poteto Jul 28, 2025
c60eebf
[compiler] Add new ValidateNoVoidUseMemo pass (#33990)
poteto Jul 28, 2025
b5c1637
[compiler] Reuse DropManualMemoization for ValidateNoVoidUseMemo (#34…
poteto Jul 28, 2025
6b22f31
[compiler] Aggregate all errors reported from DropManualMemoization (…
poteto Jul 28, 2025
7ee7571
[compiler] Enable validateNoVoidUseMemo in eslint & playground (#34022)
poteto Jul 28, 2025
71236c9
[DevTools] Include the description derived from the promise (#34017)
sebmarkbage Jul 28, 2025
5d7e8b9
[DevTools] Use use() instead of throwing a Promise in Caches (#34033)
sebmarkbage Jul 29, 2025
33a2bf7
[DevTools] Silence unactionable bundle warnings in shell (#34034)
eps1lon Jul 29, 2025
9c9136b
[DevTools] Swap Components tab layout based on container size (#34035)
eps1lon Jul 29, 2025
b1cbb48
[DevTools] More robust resize handling (#34036)
eps1lon Jul 29, 2025
9be531c
[Fiber] Treat unwrapping React.lazy more like a use() (#34031)
sebmarkbage Jul 29, 2025
820af20
[eslint] Disallow use within try/catch blocks (#34040)
poteto Jul 29, 2025
85bbe39
[compiler] Fixes to enableTreatRefLikeIdentifiersAsRefs (#34000)
josephsavona Jul 29, 2025
79dc706
[compiler] Improve ref validation error message (#34003)
josephsavona Jul 29, 2025
1d7e942
[compiler] Allow mergeRefs pattern (and detect refs passed as ref pro…
josephsavona Jul 29, 2025
3f40eb7
[compiler] Allow passing refs to render helpers (#34006)
josephsavona Jul 29, 2025
6891dcb
[compiler] treat ref-like identifiers as refs by default (#34005)
josephsavona Jul 29, 2025
4395689
[compiler] ref guards apply up to fallthrough of the test (#34024)
josephsavona Jul 29, 2025
c2326b1
[compiler] disallow ref access in state initializer, reducer/initiali…
josephsavona Jul 29, 2025
04a7a61
[compiler] Allow assigning ref-accessing functions to objects if not …
josephsavona Jul 29, 2025
88b40f6
Enable ref validation in linter (#34044)
josephsavona Jul 29, 2025
36c63d4
[DevTools] Layout for Suspense tab (#34042)
eps1lon Jul 30, 2025
dcf2a6f
[DevTools] Keep a Suspense Tree Parellel to the Instance tree in the …
sebmarkbage Jul 30, 2025
9784cb3
[DevTools] No suspending above the root (#34055)
sebmarkbage Jul 30, 2025
9877346
[Fizz] Don't outline Boundaries that may contribute to the preamble (…
gnoff Jul 31, 2025
8de7aed
[Fizz] Count Boundary bytes that may contribute to the preamble in th…
gnoff Jul 31, 2025
5bbf9be
[DevTools] Model Hidden Offscreen Boundaries as Unmounts (#34062)
sebmarkbage Jul 31, 2025
c260b38
[DevTools] Clean up Virtual Instances from id map (#34063)
sebmarkbage Jul 31, 2025
bdb4a96
[DevTools] Lazily compute initial Tree state (#34078)
eps1lon Aug 1, 2025
52612a7
[compiler] Emit more specific error when making identifiers with rese…
poteto Aug 1, 2025
538ac7a
[Flight] Fix debug info leaking to outer handler (#34081)
sebmarkbage Aug 1, 2025
0860b9c
[compiler] Add definitions for Object entries/keys/values (#34047)
josephsavona Aug 1, 2025
ddf8bc3
[compiler] Improve merging of scopes that invalidate together (#34049)
josephsavona Aug 1, 2025
1d16396
Allow returning a temporary reference inside an async function (#33761)
denk0403 Aug 2, 2025
c499adf
[Flight] Allow Temporary References to be awaited (#34084)
sebmarkbage Aug 2, 2025
30fca45
fix: apply initial horizontal offset on tree mount (#34088)
hoxyq Aug 4, 2025
0417546
[DevTools] Only show state for ClassComponents (#34091)
sebmarkbage Aug 4, 2025
8e3db09
[DevTools] Make a non-editable name of KeyValue clickable (#34095)
sebmarkbage Aug 4, 2025
d3f800d
[DevTools] Style clickable Owner components with angle brackets and b…
sebmarkbage Aug 4, 2025
557745e
[DevTools] Add structure full stack parsing to DevTools (#34093)
sebmarkbage Aug 4, 2025
be11cb5
[DevTools] Tweak the presentation of the Promise value (#34097)
sebmarkbage Aug 4, 2025
ba4bdb2
[DevTools] Consume SuspenseNodes that were skipped when we're bailing…
sebmarkbage Aug 4, 2025
b211d70
[compiler] Add repros for various invariants (#34099)
poteto Aug 4, 2025
d3b26b2
[compiler] rebase #32285 (#34102)
josephsavona Aug 4, 2025
7deda94
[compiler] Delete PropagatePhiTypes (#34107)
josephsavona Aug 4, 2025
99fd4f2
[DevTools] Reorder moved filtered Fibers with backing DevToolsInstanc…
sebmarkbage Aug 5, 2025
c97ec75
[DevTools] Disconnect and Reconnect children of Suspense boundaries i…
sebmarkbage Aug 6, 2025
0825d01
[DevTools] Prefer I/O stack and show await stack after only if it's a…
sebmarkbage Aug 6, 2025
66f09bd
[DevTools] Sort "Suspended By" view by the start time (#34105)
sebmarkbage Aug 6, 2025
b080063
[DevTools] Source Map Stack Traces such in await locations (#34094)
sebmarkbage Aug 6, 2025
fa212fc
[DevTools] Measure the Rectangle of Suspense boundaries as we reconci…
sebmarkbage Aug 6, 2025
c403a7c
[compiler] Upstream experimental flow integration (#34121)
josephsavona Aug 6, 2025
f468d37
[compiler] remove use of inspect module (#34124)
josephsavona Aug 7, 2025
552a5da
[DevTools] fix: handle store mutations synchronously in TreeContext (…
hoxyq Aug 7, 2025
4c9c109
[Fiber] Try to give a stack trace to every entry in the Scheduler Per…
sebmarkbage Aug 7, 2025
738aebd
[DevTools] Add Badge to Owners and sometimes stack traces (#34106)
sebmarkbage Aug 7, 2025
3958d5d
[Flight] Copy the name field of a serialized function debug value (#3…
sebmarkbage Aug 7, 2025
cf6e502
Hot reloading: Avoid stack overflow on wide trees (#34145)
sophiebits Aug 9, 2025
98286cf
[DevTools] Send suspense nodes to frontend store (#34070)
eps1lon Aug 10, 2025
594fb5e
[DevTools] Always skip 1 frame (#34167)
sebmarkbage Aug 11, 2025
72965f3
[DevTools] Restore reconciling Suspense stack after fallback was reco…
eps1lon Aug 11, 2025
59ef3c4
[DevTools] Allow Introspection of React Elements and React.lazy (#34129)
sebmarkbage Aug 11, 2025
7a934a1
[DevTools] Show Owner Stacks in "rendered by" View (#34130)
sebmarkbage Aug 11, 2025
ab5238d
[DevTools] Show name prop of Suspense / Activity in the Components Tr…
sebmarkbage Aug 11, 2025
6445b31
[Fiber] Add additional debugInfo to React.lazy constructors in DEV (#…
sebmarkbage Aug 11, 2025
34ce3ac
[DevTools] Pick up suspended by info from React.lazy in type position…
sebmarkbage Aug 11, 2025
53d0794
[Fiber] Assign implicit debug info to used thenables (#34146)
sebmarkbage Aug 11, 2025
62a634b
[DebugTools] Use thenables from the _debugThenableState if available …
sebmarkbage Aug 11, 2025
ca292f7
[DevTools] Don't show "awaited by" if there's nothing to show (#34163)
sebmarkbage Aug 11, 2025
d587434
[DevTools] Pick up suspended by info from use() (#34148)
sebmarkbage Aug 11, 2025
f1e70b5
[easy] remove leftover reference to disableDefaultPropsExceptForClass…
kassens Aug 11, 2025
2c9a42d
[DevTools] If the await doesn't have a stack use the stack from use()…
sebmarkbage Aug 11, 2025
3c67bbe
[DevTools] Track suspensey CSS on "suspended by" (#34166)
sebmarkbage Aug 11, 2025
ac7820a
Create fresh Offscreen instance when replaying (#34127)
eps1lon Aug 11, 2025
de06211
[DevTools] Send Suspense rects to frontend (#34170)
eps1lon Aug 12, 2025
1dc3bde
Remove unused arguments from ReactElement (#34174)
kassens Aug 12, 2025
47fd2f5
[DevTools] Fix index (#34187)
sebmarkbage Aug 12, 2025
0422a00
[DevTools] Fix missing key warning (#34186)
eps1lon Aug 12, 2025
9baecbf
[Fizz] Avoid hanging when suspending after aborting while rendering (…
gnoff Aug 12, 2025
f1222f7
[Fiber] Don't bind retry listener if it's in the cache (#34183)
sebmarkbage Aug 13, 2025
14c50e3
[DevTools] Use Visually Lighter Skeletons (#34185)
sebmarkbage Aug 13, 2025
0032b2a
[Flight] Log error if prod elements are rendered (#34189)
eps1lon Aug 13, 2025
9433fe3
Fail tests if unasserted console calls contain `undefined` (#34191)
eps1lon Aug 13, 2025
db06f6b
[DevTools] Track virtual debug info from suspensey images (#34181)
sebmarkbage Aug 13, 2025
534bed5
Use `yarn run` in Flight fixture (#34197)
eps1lon Aug 13, 2025
379a083
Include stack of cause in React instrumentation errors (#34198)
eps1lon Aug 13, 2025
02a8811
[SuspenseTab] Scuffed version of Suspense rects (#34188)
eps1lon Aug 14, 2025
a96a0f3
Fix fragmentInstance#compareDocumentPosition nesting and portal cases…
jackpope Aug 15, 2025
2ba7b07
[DevTools] Compute a min and max range for the currently selected sus…
sebmarkbage Aug 15, 2025
2d98b45
[DevTools] Fix Suspense boundaries always being marked as not suspend…
eps1lon Aug 15, 2025
8dba931
[DevTools] Handle fallback unmount in Suspense update path (#34199)
eps1lon Aug 15, 2025
45a6532
Add compareDocumentPosition to Fabric FragmentInstance (#34103)
jackpope Aug 15, 2025
724b324
[compiler] Add hint to name variables with "Ref" suffix (#34125)
josephsavona Aug 15, 2025
6ffcac8
[compiler] Add support for diagnostic hints (#34126)
josephsavona Aug 15, 2025
eaf6adb
[compiler][wip] Remove old mutation/aliasing implementation (#34028)
josephsavona Aug 15, 2025
5063b32
[compiler] Remove now-unused FunctionEffect type (#34029)
josephsavona Aug 15, 2025
431bb0b
[DevTools] Mark Unknown Reasons for Suspending with a Note (#34200)
sebmarkbage Aug 15, 2025
2cb8edb
[DevTools] Handle dehydrated Suspense boundaries (#34196)
eps1lon Aug 16, 2025
546bac7
[DevTools] Always attempt to mount dehydrated roots (#34209)
eps1lon Aug 16, 2025
7a36dfe
[Fizz] Delay retrying hydration until after an animation frame (#34220)
sebmarkbage Aug 16, 2025
42b1b33
[DevTools] Add byteSize field to ReactIOInfo and show this in the too…
sebmarkbage Aug 17, 2025
b58a8e3
[DevTools] Handle mount of disconnected Suspense boundaries (#34208)
eps1lon Aug 18, 2025
01ed0e9
[DevTools] Avoid uncached Promise when symbolicating sources in envir…
eps1lon Aug 18, 2025
87a45ae
[eslint-plugin-react-hooks][RulesOfHooks] handle React.useEffect in a…
Ayc0 Aug 18, 2025
0c89b16
[Flight] Add DebugInfo for Bundler Chunks (#34226)
sebmarkbage Aug 18, 2025
f508edc
[compiler] Stop publishing eslint-plugin-react-compiler to npm (#34228)
poteto Aug 18, 2025
0bdb920
[Fizz] If we haven't painted yet, wait to reveal everything until nex…
sebmarkbage Aug 19, 2025
ae5c2f8
[DevTools] Handle reorders when resuspending while fallback contains …
eps1lon Aug 19, 2025
3e20dc8
[DevTools] Fix crash when inspecting Components suspended on data awa…
eps1lon Aug 20, 2025
0bc71e6
[Flight] Add `debugChannel` option to Edge and Node clients (#34236)
unstubbable Aug 20, 2025
03fda05
[DevTools] Fix display of stack frames with anonymous sources (#34237)
eps1lon Aug 20, 2025
c2ac8b4
[ci] Fix permissions for direct sync branch PRs workflow (#34241)
poteto Aug 20, 2025
83c7379
Add flow suppression for Constant Condition rollout (#34243)
kassens Aug 20, 2025
243a56b
Update Flow to 0.246 (#34244)
kassens Aug 21, 2025
5f06c3d
Update Flow to 0.247 (#34245)
kassens Aug 21, 2025
873f711
Update Flow to 0.248 (#34248)
kassens Aug 21, 2025
3770ff3
Update Flow to 0.256 (#34252)
kassens Aug 21, 2025
8120753
[DevTools] fix: always send a response to fetch-file request in the e…
hoxyq Aug 21, 2025
ec5dd0a
Update Flow to 0.257 (#34253)
kassens Aug 21, 2025
d5586e2
Update Flow to 0.258 (#34254)
kassens Aug 21, 2025
d73b6f1
Update Flow to 0.261 (#34255)
kassens Aug 21, 2025
253abc7
[Flight] Transfer Debug Info from a synchronous Reference to another …
sebmarkbage Aug 21, 2025
7d29ecb
[compiler] Aggregate error reporting, separate eslint rules (#34176)
josephsavona Aug 21, 2025
a85ec04
[DevTools] Ignore List Stack Traces (#34210)
sebmarkbage Aug 21, 2025
11d7bcf
[DevTools] Use source maps to infer name asynchronously (#34212)
sebmarkbage Aug 21, 2025
698bb4d
Add support for ARIA 1.3 attributes (#34264)
Abdul-Omira Aug 22, 2025
6de32a5
Update Flow to 0.263 (#34269)
kassens Aug 22, 2025
425ba0a
[compiler] Script to produce markdown of lint rule docs (#34260)
josephsavona Aug 22, 2025
d260b0d
Update Flow to 0.265 (#34270)
kassens Aug 22, 2025
05addfc
Update Flow to 0.266 (#34271)
kassens Aug 22, 2025
06cfa99
Update Flow to 0.267 (#34272)
kassens Aug 22, 2025
e67e3be
Update Flow to 0.272 (#34273)
kassens Aug 22, 2025
4049cfe
Update Flow to 0.273 (#34274)
kassens Aug 22, 2025
090777d
Update Flow to 0.274 (#34275)
kassens Aug 22, 2025
9eede45
Stop treating all Node.js builtins implicitly as externals (#34249)
eps1lon Aug 25, 2025
67e743f
[compiler] Fix missing dependency in eslint-plugin-react-hooks (#34287)
eps1lon Aug 25, 2025
e42f3d3
[DevTools] Include `name` prop when highlighting host instances (#34258)
eps1lon Aug 25, 2025
df10309
Update Flow to 0.279 (#34277)
kassens Aug 25, 2025
75dc002
[DevTools] Initial version of Suspense timeline (#34233)
eps1lon Aug 25, 2025
26e87b5
Fix Flow issue from land race (#34293)
kassens Aug 25, 2025
ad4ecb6
[DevTools] Fix symbolication with Index Source Maps (#34300)
eps1lon Aug 26, 2025
44f8451
[DevTools] Avoid tearing Suspense store (#34294)
eps1lon Aug 26, 2025
bb7c9c1
Create more realistic containers in DevTools fixture (#34296)
eps1lon Aug 26, 2025
cacc20e
[Flight] Wait for both streams to end before closing the response (#3…
unstubbable Aug 26, 2025
cb1e73b
[DevTools] Batch Suspense toggles when advancing the Suspense timelin…
eps1lon Aug 26, 2025
4123f6b
[Fizz] Skip past hidden inputs when attempting to hydrate hydration b…
eps1lon Aug 26, 2025
9c2e2b8
[Flight] Don't drop debug info if there's only a readable debug chann…
unstubbable Aug 27, 2025
2135948
[DevTools] Better scrolling in Suspense tab (#34299)
eps1lon Aug 27, 2025
33a1095
[compiler] Infer render helpers for additional validation (#33647)
josephsavona Aug 27, 2025
b870042
[compiler] Validate against component/hook factories (#34305)
poteto Aug 27, 2025
0a1f1fc
[ci] Cache playwright in run_devtools_e2e_tests (#34320)
poteto Aug 27, 2025
bd5b1b7
[compiler] Emit better error for unsupported syntax `this` (#34322)
poteto Aug 27, 2025
3434ff4
Add scrollIntoView to fragment instances (#32814)
jackpope Aug 27, 2025
8d7b5e4
[compiler] Show a ref name hint when assigning to non-ref in a callba…
josephsavona Aug 28, 2025
89a803f
[DevTools] Add breadcrumbs to Suspense tab (#34312)
eps1lon Aug 28, 2025
c5362a3
[compiler][playground] (1/N) Config override panel (#34303)
EugeneChoi4 Aug 28, 2025
872b4fe
[eprh] Update installation instructions in readme (#34331)
poteto Aug 28, 2025
6b49c44
Update Code Sandbox CI to Node 20 to Match .nvmrc (#34329)
iamsmruti Aug 28, 2025
4082b0e
[compiler] Detect known incompatible libraries (#34027)
josephsavona Aug 28, 2025
3fe51c9
[Flight] Use more robust web socket implementation in fixture (#34338)
unstubbable Aug 29, 2025
aad7c66
[Flight] Don't try to close debug channel twice (#34340)
unstubbable Aug 29, 2025
bb6f0c8
[Flight] Fix wrong missing key warning when static child is blocked (…
unstubbable Sep 1, 2025
1549bda
[Flight] Only assign `_store` in dev mode when creating lazy types (#…
unstubbable Sep 1, 2025
b1b0955
[DevTools] Fix inspected element scroll in Suspense tab (#34355)
eps1lon Sep 1, 2025
6a58b80
[DevTools] Only inspect elements on left mouseclick (#34361)
eps1lon Sep 2, 2025
8e60cb7
[DevTools] Remove markers from Suspense timeline (#34357)
eps1lon Sep 2, 2025
ac3e705
[compiler][playground] (2/N) Config override panel (#34344)
EugeneChoi4 Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 3 additions & 2 deletions .codesandbox/ci.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"packages": ["packages/react", "packages/react-dom", "packages/scheduler"],
"packages": ["packages/react", "packages/react-dom", "packages/react-server-dom-webpack", "packages/scheduler"],
"buildCommand": "download-build-in-codesandbox-ci",
"node": "18",
"node": "20",
"publishDirectory": {
"react": "build/oss-experimental/react",
"react-dom": "build/oss-experimental/react-dom",
"react-server-dom-webpack": "build/oss-experimental/react-server-dom-webpack",
"scheduler": "build/oss-experimental/scheduler"
},
"sandboxes": ["new"],
Expand Down
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,6 @@ packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/
packages/react-devtools-shell/dist
packages/react-devtools-timeline/dist
packages/react-devtools-timeline/static

# Imported third-party Flow types
flow-typed/
57 changes: 46 additions & 11 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,6 @@ module.exports = {
ERROR,
{isProductionUserAppCode: true},
],
'react-internal/no-to-warn-dev-within-to-throw': ERROR,
'react-internal/warning-args': ERROR,
'react-internal/no-production-logging': ERROR,
},
Expand Down Expand Up @@ -447,10 +446,7 @@ module.exports = {
},
},
{
files: [
'scripts/eslint-rules/*.js',
'packages/eslint-plugin-react-hooks/src/*.js',
],
files: ['scripts/eslint-rules/*.js'],
plugins: ['eslint-plugin'],
rules: {
'eslint-plugin/prefer-object-rule': ERROR,
Expand All @@ -472,13 +468,14 @@ module.exports = {
files: ['packages/react-server-dom-webpack/**/*.js'],
globals: {
__webpack_chunk_load__: 'readonly',
__webpack_get_script_filename__: 'readonly',
__webpack_require__: 'readonly',
},
},
{
files: ['packages/react-server-dom-turbopack/**/*.js'],
globals: {
__turbopack_load__: 'readonly',
__turbopack_load_by_url__: 'readonly',
__turbopack_require__: 'readonly',
},
},
Expand All @@ -497,16 +494,21 @@ module.exports = {
{
files: [
'packages/react-devtools-extensions/**/*.js',
'packages/react-devtools-shared/src/devtools/views/**/*.js',
'packages/react-devtools-shared/src/hook.js',
'packages/react-devtools-shared/src/backend/console.js',
'packages/react-devtools-shared/src/backend/fiber/renderer.js',
'packages/react-devtools-shared/src/backend/shared/DevToolsComponentStackFrame.js',
'packages/react-devtools-shared/src/frontend/utils/withPermissionsCheck.js',
],
globals: {
__IS_CHROME__: 'readonly',
__IS_FIREFOX__: 'readonly',
__IS_EDGE__: 'readonly',
__IS_NATIVE__: 'readonly',
__IS_INTERNAL_MCP_BUILD__: 'readonly',
__IS_INTERNAL_VERSION__: 'readonly',
chrome: 'readonly',
},
},
{
Expand All @@ -515,6 +517,26 @@ module.exports = {
__IS_INTERNAL_VERSION__: 'readonly',
},
},
{
files: ['packages/eslint-plugin-react-hooks/src/**/*'],
extends: ['plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'eslint-plugin'],
rules: {
'@typescript-eslint/no-explicit-any': OFF,
'@typescript-eslint/no-non-null-assertion': OFF,
'@typescript-eslint/array-type': [ERROR, {default: 'generic'}],

'es/no-optional-chaining': OFF,

'eslint-plugin/prefer-object-rule': ERROR,
'eslint-plugin/require-meta-fixable': [
ERROR,
{catchNoFixerButFixableProperty: true},
],
'eslint-plugin/require-meta-has-suggestions': ERROR,
},
},
],

env: {
Expand All @@ -525,13 +547,10 @@ module.exports = {
},

globals: {
$Call: 'readonly',
$ElementType: 'readonly',
$Flow$ModuleRef: 'readonly',
$FlowFixMe: 'readonly',
$Keys: 'readonly',
$NonMaybeType: 'readonly',
$PropertyType: 'readonly',
$ReadOnly: 'readonly',
$ReadOnlyArray: 'readonly',
$ArrayBufferView: 'readonly',
Expand All @@ -540,11 +559,13 @@ module.exports = {
ConsoleTask: 'readonly', // TOOD: Figure out what the official name of this will be.
ReturnType: 'readonly',
AnimationFrameID: 'readonly',
WeakRef: 'readonly',
// For Flow type annotation. Only `BigInt` is valid at runtime.
bigint: 'readonly',
BigInt: 'readonly',
BigInt64Array: 'readonly',
BigUint64Array: 'readonly',
CacheType: 'readonly',
Class: 'readonly',
ClientRect: 'readonly',
CopyInspectedElementPath: 'readonly',
Expand All @@ -559,12 +580,15 @@ module.exports = {
IteratorResult: 'readonly',
JSONValue: 'readonly',
JSResourceReference: 'readonly',
mixin$Animatable: 'readonly',
MouseEventHandler: 'readonly',
NavigateEvent: 'readonly',
PerformanceMeasureOptions: 'readonly',
PropagationPhases: 'readonly',
PropertyDescriptor: 'readonly',
React$AbstractComponent: 'readonly',
PropertyDescriptorMap: 'readonly',
Proxy$traps: 'readonly',
React$Component: 'readonly',
React$ComponentType: 'readonly',
React$Config: 'readonly',
React$Context: 'readonly',
React$Element: 'readonly',
Expand All @@ -585,11 +609,21 @@ module.exports = {
symbol: 'readonly',
SyntheticEvent: 'readonly',
SyntheticMouseEvent: 'readonly',
SyntheticPointerEvent: 'readonly',
Thenable: 'readonly',
TimeoutID: 'readonly',
WheelEventHandler: 'readonly',
FinalizationRegistry: 'readonly',
Exclude: 'readonly',
Omit: 'readonly',
Keyframe: 'readonly',
PropertyIndexedKeyframes: 'readonly',
KeyframeAnimationOptions: 'readonly',
GetAnimationsOptions: 'readonly',
ScrollTimeline: 'readonly',
EventListenerOptionsOrUseCapture: 'readonly',
FocusOptions: 'readonly',
OptionalEffectTiming: 'readonly',

spyOnDev: 'readonly',
spyOnDevAndProd: 'readonly',
Expand All @@ -607,5 +641,6 @@ module.exports = {
AsyncLocalStorage: 'readonly',
async_hooks: 'readonly',
globalThis: 'readonly',
navigation: 'readonly',
},
};
18 changes: 0 additions & 18 deletions .github/ISSUE_TEMPLATE/19.md

This file was deleted.

49 changes: 49 additions & 0 deletions .github/workflows/compiler_discord_notify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: (Compiler) Discord Notify

on:
pull_request_target:
types: [opened, ready_for_review]
paths:
- compiler/**
- .github/workflows/compiler_**.yml

permissions: {}

jobs:
check_access:
if: ${{ github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
outputs:
is_member_or_collaborator: ${{ steps.check_is_member_or_collaborator.outputs.is_member_or_collaborator }}
steps:
- run: echo ${{ github.event.pull_request.author_association }}
- name: Check is member or collaborator
id: check_is_member_or_collaborator
if: ${{ github.event.pull_request.author_association == 'MEMBER' || github.event.pull_request.author_association == 'COLLABORATOR' }}
run: echo "is_member_or_collaborator=true" >> "$GITHUB_OUTPUT"

check_maintainer:
if: ${{ needs.check_access.outputs.is_member_or_collaborator == 'true' || needs.check_access.outputs.is_member_or_collaborator == true }}
needs: [check_access]
uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
permissions:
# Used by check_maintainer
contents: read
with:
actor: ${{ github.event.pull_request.user.login }}

notify:
if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
needs: check_maintainer
runs-on: ubuntu-latest
steps:
- name: Discord Webhook Action
uses: tsickert/discord-webhook@86dc739f3f165f16dadc5666051c367efa1692f4
with:
webhook-url: ${{ secrets.COMPILER_DISCORD_WEBHOOK_URL }}
embed-author-name: ${{ github.event.pull_request.user.login }}
embed-author-url: ${{ github.event.pull_request.user.html_url }}
embed-author-icon-url: ${{ github.event.pull_request.user.avatar_url }}
embed-title: '#${{ github.event.number }} (+${{github.event.pull_request.additions}} -${{github.event.pull_request.deletions}}): ${{ github.event.pull_request.title }}'
embed-description: ${{ github.event.pull_request.body }}
embed-url: ${{ github.event.pull_request.html_url }}
26 changes: 20 additions & 6 deletions .github/workflows/compiler_playground.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:
- compiler/**
- .github/workflows/compiler_playground.yml

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
Expand Down Expand Up @@ -36,14 +38,25 @@ jobs:
uses: actions/cache@v4
id: node_modules
with:
path: "**/node_modules"
key: compiler-node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('compiler/**/yarn.lock') }}
- name: yarn install compiler
run: yarn install --frozen-lockfile
path: |
**/node_modules
key: compiler-and-playground-node_modules-v6-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('compiler/**/yarn.lock') }}
- run: yarn install --frozen-lockfile
if: steps.node_modules.outputs.cache-hit != 'true'
working-directory: compiler
- name: yarn install playground
run: yarn install --frozen-lockfile
- run: yarn install --frozen-lockfile
if: steps.node_modules.outputs.cache-hit != 'true'
- name: Check Playwright version
id: playwright_version
run: echo "playwright_version=$(npm ls @playwright/test | grep @playwright | sed 's/.*@//' | head -1)" >> "$GITHUB_OUTPUT"
- name: Cache Playwright Browsers for version ${{ steps.playwright_version.outputs.playwright_version }}
id: cache_playwright_browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-browsers-v6-${{ runner.arch }}-${{ runner.os }}-${{ steps.playwright_version.outputs.playwright_version }}
- run: npx playwright install --with-deps chromium
if: steps.cache_playwright_browsers.outputs.cache-hit != 'true'
- run: CI=true yarn test
- run: ls -R test-results
if: '!cancelled()'
Expand All @@ -53,3 +66,4 @@ jobs:
with:
name: test-results
path: compiler/apps/playground/test-results
if-no-files-found: ignore
14 changes: 10 additions & 4 deletions .github/workflows/compiler_prereleases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,19 @@ on:
version_name:
required: true
type: string
tag_version:
required: false
type: string
secrets:
NPM_TOKEN:
required: true

permissions: {}

env:
TZ: /usr/share/zoneinfo/America/Los_Angeles
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
GH_TOKEN: ${{ github.token }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

defaults:
Expand All @@ -46,10 +50,12 @@ jobs:
uses: actions/cache@v4
id: node_modules
with:
path: "**/node_modules"
key: compiler-node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('compiler/**/yarn.lock') }}
path: |
**/node_modules
key: compiler-node_modules-v6-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('compiler/yarn.lock') }}
- run: yarn install --frozen-lockfile
if: steps.node_modules.outputs.cache-hit != 'true'
- name: Publish packages to npm
run: |
cp ./scripts/release/ci-npmrc ~/.npmrc
scripts/release/publish.js --frfr --ci --versionName=${{ inputs.version_name }} --tag ${{ inputs.dist_tag }}
scripts/release/publish.js --frfr --ci --versionName=${{ inputs.version_name }} --tag=${{ inputs.dist_tag }} ${{ inputs.tag_version && format('--tagVersion={0}', inputs.tag_version) || '' }}
6 changes: 6 additions & 0 deletions .github/workflows/compiler_prereleases_manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ on:
version_name:
required: true
type: string
tag_version:
required: false
type: string

permissions: {}

env:
TZ: /usr/share/zoneinfo/America/Los_Angeles
Expand All @@ -27,5 +32,6 @@ jobs:
release_channel: ${{ inputs.release_channel }}
dist_tag: ${{ inputs.dist_tag }}
version_name: ${{ inputs.version_name }}
tag_version: ${{ inputs.tag_version }}
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
2 changes: 2 additions & 0 deletions .github/workflows/compiler_prereleases_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
# At 10 minutes past 16:00 on Mon, Tue, Wed, Thu, and Fri
- cron: 10 16 * * 1,2,3,4,5

permissions: {}

env:
TZ: /usr/share/zoneinfo/America/Los_Angeles

Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/compiler_prereleases_weekly.yml

This file was deleted.

Loading