Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
300 commits
Select commit Hold shift + click to select a range
9b042f9
[Fizz] Responsive images should not be preloaded with link headers (#…
gnoff Feb 21, 2025
ad03c48
use-sync-external-store: Add `exports` field to `package.json` (#25231)
eps1lon Feb 24, 2025
9dd378f
[RN] Move definition of public instances to ReactNativePrivateInterfa…
rubennorte Feb 24, 2025
2567726
[flags] remove enableRemoveConsolePatches (#32425)
rickhanlonii Feb 24, 2025
22e39ea
Include component name in "async/await is not supported" error messag…
eps1lon Feb 25, 2025
dd9974b
[forgive] Scaffold workspaces (#31917)
poteto Feb 25, 2025
58def9f
[forgive] Add build scripts (#31927)
poteto Feb 25, 2025
d42a90c
[forgive] Init (#31918)
poteto Feb 25, 2025
2e4db33
Use valid CSS selectors in useId format (#32001)
sebmarkbage Feb 25, 2025
403d4fb
Move ViewTransitions helpers to ReactFiberCommitViewTransitions (#32462)
sebmarkbage Feb 25, 2025
92e65ca
[forgive] Add basic codelens provider (#32476)
poteto Feb 25, 2025
ebc22ef
[forgive][ez] Ignore test file (#32477)
poteto Feb 26, 2025
2df9622
[release] Update publishing scripts to make publishing allowlisted pa…
poteto Feb 27, 2025
227e841
[ci] Add workflow to publish releases (#32487)
poteto Feb 27, 2025
4c9392b
[ci] Prepare publish workflow (#32488)
poteto Feb 27, 2025
5eb20b3
[ci] Fix --dry not being passed correctly (#32489)
poteto Feb 27, 2025
3607f48
Add Commit Scaffolding for Gestures (#32451)
sebmarkbage Feb 27, 2025
7e2ea90
[ci] Fix discord notification title (#32491)
poteto Feb 28, 2025
56c7d10
[ci] Upload release for easier debugging (#32492)
poteto Feb 28, 2025
11ca4f6
feat(eslint-plugin-react-hooks): update `engines` declaration (#32458)
michaelfaith Feb 28, 2025
d55cc79
refactor(eslint-plugin-react-hooks): move rules to `rules` folder (#3…
michaelfaith Feb 28, 2025
ca12911
feat(eslint-plugin-react-hooks): make flat config the `recommended` c…
michaelfaith Feb 28, 2025
eda36a1
[ci] Don't erroneously mark failures as successes (#32493)
poteto Feb 28, 2025
2980f27
Add a shorthand for building the view-transition fixture (#32496)
sebmarkbage Mar 1, 2025
605a880
Polyfill onScrollEnd Event in Safari (#32427)
sebmarkbage Mar 3, 2025
a1f157e
[compiler][ez] Add validation for auto-deps config (#31813)
jbrown215 Mar 3, 2025
bdce84a
[autodeps] Support namespaces (#32162)
jbrown215 Mar 3, 2025
d4e24b3
[autodeps] Do not include nonreactive refs or setStates in inferred d…
jbrown215 Mar 3, 2025
443b7ff
docs(eslint-plugin-react-hooks): clarify config details for prior ver…
michaelfaith Mar 4, 2025
d48c692
[flags] make enableScrollEndPolyfill dynamic (#32517)
rickhanlonii Mar 4, 2025
e0fe347
[flags] remove enableOwnerStacks (#32426)
rickhanlonii Mar 4, 2025
e9252bc
During a Swipe Gesture Render a Clone Offscreen and Animate it Onscre…
sebmarkbage Mar 5, 2025
e03ac20
Set direction in animate call directly (#32523)
sebmarkbage Mar 5, 2025
6b1ae49
[ez] Remove unused netlify.toml (#32530)
poteto Mar 5, 2025
aac177c
Support beforetoggle/toggle events for dialog (#32479)
keithamus Mar 5, 2025
e81fcfe
[Flight] Expose registerServerReference from the client builds (#32534)
sebmarkbage Mar 6, 2025
029e8bd
Add Owner Stack to attribute hydration mismatches (#32538)
eps1lon Mar 6, 2025
9e9b54d
[compiler] Make CompilerError compatible with reflection (#32539)
poteto Mar 6, 2025
562f17e
docs(eslint-plugin-react-hooks): add changelog for 5.1.0 & 5.2.0 (#32…
Mathias-S Mar 6, 2025
f9d7808
[flags] make enableComponentPerformanceTrack dynamic (#32359)
rickhanlonii Mar 6, 2025
cc68006
Fix asserts caused by OffscreenComponent rendering in React Native wi…
lenaic Mar 7, 2025
00aa004
[compiler] Migrate compiler packages to tsup (#32550)
poteto Mar 7, 2025
d331ba0
[ci] Fix incorrect condition (#32551)
poteto Mar 7, 2025
50ab2dd
Make renameElementSymbol dynamic for native fb (#32566)
jackpope Mar 10, 2025
a8c2bbd
Cancel finished view transitions Animations manually in fire-and-forg…
sebmarkbage Mar 10, 2025
696950a
Enable moveBefore in experimental releases (#32549)
sebmarkbage Mar 10, 2025
99e1024
Check if a child is a new child before calling moveBefore (#32567)
sebmarkbage Mar 10, 2025
0ca3dee
[rcr] Fix incorrect output platform (#32569)
poteto Mar 11, 2025
2398554
[Flight]: Client-side `registerServerReference` must not break `.bind…
unstubbable Mar 11, 2025
ca8f91f
Log errors from startViewTransition to onRecoverableError (#32540)
sebmarkbage Mar 12, 2025
6aa8254
Add ref to Fragment (#32465)
jackpope Mar 12, 2025
75c9798
Ignore AbortError for gestures (#32579)
sebmarkbage Mar 12, 2025
3456b66
[compiler] Repro for object spread and Array.from with mutable iterat…
mofeiZ Mar 12, 2025
4ab827b
[compiler] Dedupe @babel/types (#32581)
poteto Mar 12, 2025
e0e98d9
[playground] Update various deps (#32583)
poteto Mar 12, 2025
26bca00
[playground] Wait for Monaco to fully load (#32584)
poteto Mar 12, 2025
5135f98
Add DOM fixture page for Fragment Ref (#32527)
jackpope Mar 12, 2025
5de83dc
[playground] Use onMount to check if the editor is available (#32586)
poteto Mar 12, 2025
f695f95
Update babel configs used in jest (#32588)
poteto Mar 12, 2025
0e2402e
Update eslint fixtures (#32589)
poteto Mar 12, 2025
f31779a
[ez] Run Prettier on eslint-plugin-react-compiler/src/types (#32590)
poteto Mar 12, 2025
8646349
[rollup] Fix codeFrame is not a function (#32591)
poteto Mar 12, 2025
a8ab2bc
[rollup] Add support for running prebuild commands (#32592)
poteto Mar 12, 2025
5ccfcd1
feat(eslint-plugin-react-hooks): merge rule from eslint-plugin-react-…
michaelfaith Mar 13, 2025
1b77c3d
Update DEVELOPMENT_GUIDE.md (#32281)
smhnaqvi Mar 13, 2025
ef06b54
fix: clarify which mobx libs are not compatible with compiler (#32570)
coolsoftwaretyler Mar 13, 2025
ed1264f
[compiler] Patch array and argument spread mutability (#32521)
mofeiZ Mar 13, 2025
38a7600
[compiler][optim] Add shape for Array.from (#32522)
mofeiZ Mar 13, 2025
eb53139
[compiler][optim] infer mixedReadOnly for numeric and computed proper…
mofeiZ Mar 13, 2025
89a46a5
[compiler][optim] more shapes for mixedreadonly (#32594)
mofeiZ Mar 13, 2025
1c79cb8
[compiler][ez] Move compiler gating tests (#32595)
mofeiZ Mar 13, 2025
f457d0b
[compiler][ez] Only fail gating hoisting check for referenced identif…
mofeiZ Mar 13, 2025
0df46f0
[ci] Update eslint-plugin-react-hooks output location for Meta builds…
poteto Mar 13, 2025
77987e5
[ci] mkdir before mv (#32602)
poteto Mar 13, 2025
93b61fc
[compiler][ez] Stop bailing out early for hoisted gated functions (#3…
mofeiZ Mar 13, 2025
d92e571
[compiler] Avoid bailouts when inserting gating (#32598)
mofeiZ Mar 13, 2025
7939d92
[compiler] clean up retry pipeline: `fireRetry` flag -> compileMode (…
mofeiZ Mar 13, 2025
6733870
[ci] Update yarn and node_modules cache key (#32603)
poteto Mar 14, 2025
ef1103d
[ci] Fix node_modules cache glob (#32604)
poteto Mar 14, 2025
e9d80d9
Revert "[ci] Fix node_modules cache glob (#32604)" (#32606)
poteto Mar 14, 2025
5200721
Revert "[ci] Update yarn and node_modules cache key (#32603)" (#32607)
poteto Mar 14, 2025
4eba294
[ci] Cache runtime and compiler only for test runs (#32608)
poteto Mar 14, 2025
f3c9560
[ci] Update node_modules cache path (#32609)
poteto Mar 14, 2025
5398b71
[compiler] detect and throw on untransformed required features (#32512)
mofeiZ Mar 14, 2025
1b6e3dd
Merge restoreEnterViewTransitions and restoreExitViewTransitions (#32…
sebmarkbage Mar 14, 2025
3e95680
Gate flushGestureMutations and flushGestureAnimations (#32605)
sebmarkbage Mar 14, 2025
6daef4e
Make xViewTransitionToHostInstances helpers reusable (#32611)
sebmarkbage Mar 14, 2025
c4a3b92
Add more phases to the ReactFiberApplyGesture (#32578)
sebmarkbage Mar 14, 2025
2e38573
Find Pairs and Apply View Transition Names to the Clones in the "old"…
sebmarkbage Mar 14, 2025
2c56037
Measure and apply names for the "new" phase (#32612)
sebmarkbage Mar 14, 2025
6b5d9fd
Move traverseFragmentInstanceChildren to internal ReactFiberTreeRefle…
sebmarkbage Mar 14, 2025
17d274d
Remove Mutation Check Around commit/measureUpdateViewTransition (#32617)
sebmarkbage Mar 14, 2025
99563e9
Partially revert #32588 (#32621)
rickhanlonii Mar 15, 2025
1a19170
[refactor] Add element type for Activity (#32499)
rickhanlonii Mar 17, 2025
df31952
Remove offscreen type (#32639)
rickhanlonii Mar 17, 2025
8243f3f
[bug] Fix component name for Portal and add tests (#32640)
rickhanlonii Mar 17, 2025
cd28a94
Add observer methods to fragment instances (#32619)
jackpope Mar 17, 2025
fbcda19
[devtools] add filters for internal builds (#32646)
rickhanlonii Mar 17, 2025
9320a01
Fix COMMIT_SHA when generating PR artifacts (#32647)
acdlite Mar 17, 2025
6c6699f
[ci] Don't use third party action to push commits (#32648)
poteto Mar 17, 2025
c37d898
[ci] Pin Discord webhook action to specific commit sha (#32649)
poteto Mar 17, 2025
ca02c4b
[ci][ez] use yarn --cwd (#32650)
poteto Mar 17, 2025
9fde224
Materialize the tree ID when ViewTransition name=auto consumes one (#…
sebmarkbage Mar 17, 2025
0237295
Don't auto-start browser in SSR fixtures (#32652)
sebmarkbage Mar 17, 2025
90b511e
fix(react-compiler): implement NumericLiteral as ObjectPropertyKey (#…
dimaMachina Mar 17, 2025
3c3696d
Measure Updated ViewTransition Boundaries (#32653)
sebmarkbage Mar 18, 2025
a35aaf7
Update ViewTransition fixture to include bigger buttons/swipe (#32656)
sebmarkbage Mar 18, 2025
c69a5fc
Add blur() and focusLast() to fragment instances (#32654)
jackpope Mar 18, 2025
476f538
Add getClientRects to fragment instances (#32660)
jackpope Mar 18, 2025
86d5ac0
Revert "Fix:- Improve HOC support and state preservation in React Ref…
gaearon Mar 18, 2025
6584a6e
[compiler] Hoist dependencies from functions more conservatively (#32…
mofeiZ Mar 18, 2025
c2a1961
Minor Fixes to View Transition Fixture (#32664)
sebmarkbage Mar 18, 2025
646835f
[ci] Properly format commit message (#32668)
poteto Mar 19, 2025
db7dfe0
[eprh] Don't transpile to es5 (#32669)
poteto Mar 19, 2025
b0446ff
[ci] Properly format commit message take 2 (#32673)
poteto Mar 19, 2025
e9c3b27
[ci] Bump all node_modules cache keys (#32671)
poteto Mar 19, 2025
ada8bbb
[eslint-plugin-react-compiler] Fix type error with recommended config…
niklasholm Mar 19, 2025
a4842c9
[ci] Centralize cache (#32672)
poteto Mar 19, 2025
891a633
[ci] Bump build_and_lint to 25 workers (#32674)
poteto Mar 19, 2025
2089052
[ci] Add cache cleanup workflow (#32675)
poteto Mar 19, 2025
9954104
[ci] Parameterize branch cleanup (#32677)
poteto Mar 19, 2025
a8c155c
[ci] Cache playwright browsers (#32678)
poteto Mar 19, 2025
d16c26d
[ci] Specify if-no-files-found on actions/upload-artifact@v4 (#32679)
poteto Mar 19, 2025
19176e3
[ci] Use correct revision for Meta builds (#32680)
poteto Mar 19, 2025
ff8f6f2
[ci] Fix Will commit these changes www step (#32681)
poteto Mar 19, 2025
a4f9bd5
Enable Fragment refs in Experimental (#32670)
sebmarkbage Mar 20, 2025
3bcf8c2
[ci] Warm cache (#32685)
poteto Mar 20, 2025
87d7e4c
[ci] Fail on cache miss (#32686)
poteto Mar 20, 2025
112224d
[ci] Also cache playground playwright browsers (#32687)
poteto Mar 20, 2025
5f4c5c9
[compiler] Validate static components
josephsavona Mar 20, 2025
e3c0642
[compiler] Refactor validations to return Result and log where approp…
josephsavona Mar 20, 2025
7943da1
Set accurate value for alwaysThrottleRetries on www (#32684)
jackpope Mar 20, 2025
b630219
[refactor] move isValidElementType to react-is (#32518)
rickhanlonii Mar 20, 2025
74bcf3d
[ci] Don't fail on cache miss (#32690)
poteto Mar 20, 2025
addce2f
[ci] Add daily stale branch cache cleanup (#32691)
poteto Mar 20, 2025
b888986
[ci] Rename other stale branch workflow (#32692)
poteto Mar 20, 2025
0962f68
[compiler][bugfix] Don't insert hook guards in retry pipeline (#32665)
mofeiZ Mar 20, 2025
ac799e5
[ci] Bump number of shards for test_build to 10 (#32693)
poteto Mar 20, 2025
e1e7407
Force layout before startViewTransition (#32699)
sebmarkbage Mar 21, 2025
607615f
[ci] Scope permissions for runtime_commit_artifacts.yml (#32701)
poteto Mar 21, 2025
ab693a9
[ci] Scope permissions for all workflows (#32704)
poteto Mar 21, 2025
daee085
[activity] remove ref for now (#32645)
rickhanlonii Mar 21, 2025
fe8c106
[ci] Add missing permissions (#32707)
poteto Mar 21, 2025
4f080e4
[ci] Also give permissions on pull_requests (#32709)
poteto Mar 21, 2025
156f0ec
[ci] Don't use pull_request_target (#32708)
poteto Mar 21, 2025
de4aad5
[ci] Add missing permissions to runtime_commit_artifacts.yml (#32710)
poteto Mar 21, 2025
6b1a2c1
fix(react-compiler): optimize components declared with arrow function…
dimaMachina Mar 21, 2025
da996a1
[compiler][be] Move e2e tests to BabelPlugin transformer (#32706)
mofeiZ Mar 22, 2025
4a9df08
Stop creating Owner Stacks if many have been created recently (#32529)
eps1lon Mar 23, 2025
febc09b
[compiler][fix] mutableOnlyIfOperandsAreMutable does not apply when o…
mofeiZ Mar 24, 2025
45463ab
[compiler][be] Refactor similar CallExpression and MethodCall effect …
mofeiZ Mar 24, 2025
a8e503d
[compiler][optim] Add map and set constructors (#32697)
mofeiZ Mar 24, 2025
7c908bc
[compiler][optim] Add Effect.ConditionallyMutateIterator (#32698)
mofeiZ Mar 24, 2025
c61e75b
[compiler] Avoid failing builds when import specifiers conflict or sh…
mofeiZ Mar 24, 2025
04bf10e
Add getRootNode to fragment instances (#32682)
jackpope Mar 24, 2025
42a57ea
Merge ViewTransition layout/onLayout props into update/onUpdate (#32723)
sebmarkbage Mar 24, 2025
254dc4d
[compiler][bugfix] Fix hoisting of let declarations (#32724)
mofeiZ Mar 24, 2025
2d40460
[ci] fix notify/label actions for forks (#32725)
rickhanlonii Mar 24, 2025
ea5f065
[ci] Make maintainer check always remote (#32727)
poteto Mar 24, 2025
07276b8
[ci] Add artifact attestation to build (#32711)
poteto Mar 24, 2025
7e4c258
[scripts] Verify artifact integrity when downloading (#32728)
poteto Mar 24, 2025
ee0855f
[ci] Fix missing permissions for prereleases (#32729)
poteto Mar 24, 2025
1cdf6b9
[ci] Add GH_TOKEN as secret input to prereleases (#32732)
poteto Mar 24, 2025
e5f275e
[ci] Pass GH_TOKEN to runtime_prereleases (#32730)
poteto Mar 24, 2025
b59f186
[flow] Replace $PropertyType with indexed access type in ReactNativeT…
SamChou19815 Mar 25, 2025
dc9b746
[DevTools] Add fb local build command (#32644)
aohua Mar 25, 2025
44c4693
[ci] Dont sign builds originating from anything other than facebook/r…
poteto Mar 25, 2025
740a4f7
[ci] Run stale cache cleanup every 6 hours (#32739)
poteto Mar 25, 2025
553a175
[ci] Fix incorrect condition (#32746)
poteto Mar 25, 2025
4845e16
[ci] Fix param casing (#32748)
poteto Mar 25, 2025
f9e1b16
Avoid double logging component render time (#32749)
sebmarkbage Mar 26, 2025
8ac25e5
Warn for duplicate ViewTransition names (#32752)
sebmarkbage Mar 26, 2025
f99c9fe
Fix ownerStackLimit feature gating for tests (#32726)
rickhanlonii Mar 26, 2025
313332d
[crud] Revert CRUD overload (#32741)
poteto Mar 26, 2025
5f232d7
[ci] Skip yarn install on cache hit (#32757)
poteto Mar 26, 2025
33999c4
[compiler][be] Test runner (snap) now uses tsup bundled plugin (#32758)
mofeiZ Mar 26, 2025
2541146
[compiler][be] Playground now uses tsup bundled plugin (#32759)
mofeiZ Mar 26, 2025
a5297ec
Don't flush synchronous work if we're in the middle of a ViewTransiti…
sebmarkbage Mar 26, 2025
e0c99c4
Rename <ViewTransition className="..."> to <ViewTransition default=".…
sebmarkbage Mar 26, 2025
fceb0f8
Add "auto" class to mean the built-in should run (#32761)
sebmarkbage Mar 26, 2025
f134b39
Add getComputedStyle helper to ViewTransition refs (#32751)
sebmarkbage Mar 26, 2025
3e88e97
s/HTML/text for text hydration mismatches (#32763)
rickhanlonii Mar 26, 2025
4280563
Mark shouldStartViewTransition as true when there's an enter animatio…
sebmarkbage Mar 26, 2025
8039f1b
[compiler] Fix inferEffectDependencies lint false positives (#32769)
mofeiZ Mar 27, 2025
ef4bc8b
feat(babel-plugin-react-compiler): support satisfies operator (#32742)
rodrigofariow Mar 28, 2025
1de32a5
[release] Also split the onlyPackages param (#32777)
poteto Mar 28, 2025
1825990
[release] Don't lookup build-info.json when updating version numbers …
poteto Mar 28, 2025
deb7859
[compiler][snap] Fix test filter + watch mode (#32780)
mofeiZ Mar 28, 2025
50c5cdb
Bump next prerelease version numbers (#32782)
poteto Mar 28, 2025
d726d69
Add changelog for 19.1.0 (#32781)
mattcarrollcode Mar 28, 2025
18a1133
Update 19.1 changelog to add owner stack context
mattcarrollcode Mar 28, 2025
095ce8a
Fix changelog Owner Stack spelling consistency
mattcarrollcode Mar 28, 2025
6377903
Update 19.1 changelog to remove confusing owner stack sentance
mattcarrollcode Mar 28, 2025
95671b4
Mark the root as animating if any Portal mutates or resizes (#32772)
sebmarkbage Mar 31, 2025
a7fa870
Remove v19 beta specific issue template (#32795)
jackpope Mar 31, 2025
d3b8ff6
Unify BatchConfigTransition and Transition types (#32783)
sebmarkbage Mar 31, 2025
b286430
Add startGestureTransition API (#32785)
sebmarkbage Apr 1, 2025
0a7cf20
Remove useSwipeTransition (#32786)
sebmarkbage Apr 1, 2025
d20c280
Adjust range start/end based on the duration and delay of the animati…
sebmarkbage Apr 1, 2025
8b2046d
Get rid of the directional gesture options (#32788)
sebmarkbage Apr 1, 2025
0b1a9e9
Support addTransitionType in startGestureTransition (#32792)
sebmarkbage Apr 1, 2025
deca965
Warn if addTransitionType is called when there are no pending Actions…
sebmarkbage Apr 1, 2025
731ae3e
Solidify addTransitionType Semantics (#32797)
sebmarkbage Apr 1, 2025
e5dd82a
Warn for using a React owned node as a Container if it also has text …
sebmarkbage Apr 1, 2025
7a728df
Don't shadow EventListenerOptionsOrUseCapture and FocusOptions types …
sebmarkbage Apr 1, 2025
450f8df
Clarify that the transitionLanes used by Transition Tracing is a Lane…
sebmarkbage Apr 1, 2025
040f828
Follow through all the phases when an error happens during snapshotti…
sebmarkbage Apr 2, 2025
b81c92b
Delete CHANGELOG-canary.md (#32807)
mattcarrollcode Apr 2, 2025
b2f6365
Minor Tweak to Performance Track (#32808)
sebmarkbage Apr 2, 2025
f0c767e
feat[devtools]: display native tag for host components for Native (#3…
hoxyq Apr 2, 2025
b10cb4c
[DevTools] Release and aquire host instances when they're cloned in p…
sebmarkbage Apr 3, 2025
c0f08ae
Fix Bugs Measuring Performance Track for Effects (#32815)
sebmarkbage Apr 4, 2025
540cd65
Log Mount/Unmount/Reconnect/Disconnect in the Component Track (#32816)
sebmarkbage Apr 4, 2025
efb22d8
Add Suspensey Images behind a Flag (#32819)
sebmarkbage Apr 4, 2025
6a7650c
[Bugfix] Infinite uDV loop in popstate event (#32821)
acdlite Apr 5, 2025
a9d63f3
fix: incorrect type in getTypeSymbol (#32825)
jazelly Apr 7, 2025
365c031
Workaround against display: inline bug in Safari (#32822)
sebmarkbage Apr 7, 2025
3366146
Fix `Failed to execute 'measure' on 'Performance'` error (#32823)
unstubbable Apr 7, 2025
ea05b75
Allow Passing Blob/File/MediaSource/MediaStream to src of <img>, <vid…
sebmarkbage Apr 8, 2025
8da36d0
Enable Suspensey Images inside <ViewTransition> subtrees (#32820)
sebmarkbage Apr 8, 2025
8571249
Add unstable_Activity to server entrypoint (#32833)
acdlite Apr 9, 2025
3fbfb9b
Emit Activity boundaries as comments in Fizz (#32834)
sebmarkbage Apr 9, 2025
7175841
docs(eslint-plugin-react-hooks): add 6.0 documentation (#32513)
michaelfaith Apr 9, 2025
096dd73
Send notification to Discord if automated publish fails (#32840)
eps1lon Apr 9, 2025
ff697fc
[eprh] Temporarily disable ref access in render validation (#32839)
poteto Apr 9, 2025
31ecc98
Clarify that there's three different kinds of OffscreenProps (#32838)
sebmarkbage Apr 10, 2025
c44e4a2
Move Built-in Props Types to React Types (#32841)
sebmarkbage Apr 10, 2025
5e9b487
[RN] Map Fabric priorities to reconciler priorities correctly (#32847)
rubennorte Apr 10, 2025
8a3c5e1
Emit Preamble Contribution inline instead of the end of a boundary (#…
sebmarkbage Apr 10, 2025
961b625
Try not. Do... or do not. Hydrate Suspense Boundaries. (#32851)
sebmarkbage Apr 11, 2025
1d6c816
Clear Update flag for unchanged trees in the beginning of the commit …
sebmarkbage Apr 11, 2025
39cad7a
Remove redundant __DEV__ condition (#32810)
captbaritone Apr 11, 2025
58e9a4b
Upgrade node.js to 20 LTS (#32855)
poteto Apr 14, 2025
4eea4fc
[compiler] Update rimraf (#32868)
poteto Apr 14, 2025
0807592
[compiler] Init react-mcp-server (#32859)
poteto Apr 14, 2025
7ff4d05
[DevTools] feat: show changed hooks names in the Profiler tab (#31398)
piotrski Apr 15, 2025
707b3fc
[DevTools] Make Toggle hover state more visible (#32914)
hezi Apr 15, 2025
2ed34eb
Update @playwright/test (#32917)
poteto Apr 15, 2025
e71d420
[ci] Don't run some checks for non-members/collaborators (#32918)
poteto Apr 15, 2025
539bbdb
Warn if you pass a hidden prop to Activity (#32916)
sebmarkbage Apr 15, 2025
b04254f
Don't try to hydrate a hidden Offscreen tree (#32862)
sebmarkbage Apr 15, 2025
bf39780
[ci] Fix check_access output (#32933)
poteto Apr 16, 2025
6801372
[ci] Fix check_access fr (#32934)
poteto Apr 16, 2025
35ab8ff
[mcp] Add inspect script (#32928)
poteto Apr 16, 2025
fc21d5a
[mcp] Dedupe docs (#32929)
poteto Apr 16, 2025
3e04b2a
[mcp] Refine passes returned (#32930)
poteto Apr 16, 2025
3c75bf2
[mcp] Fix bailout loc (#32931)
poteto Apr 16, 2025
95ff37f
[mcp] Iterate on prompt (#32932)
poteto Apr 16, 2025
2ddf8ca
[ci] Fix check_access again (#32935)
poteto Apr 16, 2025
4a36d3e
[ci] Only label on PR open (#32936)
poteto Apr 16, 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
  •  
  •  
  •  
28 changes: 24 additions & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -446,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 Down Expand Up @@ -517,6 +514,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 Down Expand Up @@ -597,6 +614,9 @@ module.exports = {
KeyframeAnimationOptions: 'readonly',
GetAnimationsOptions: 'readonly',
Animatable: 'readonly',
ScrollTimeline: 'readonly',
EventListenerOptionsOrUseCapture: 'readonly',
FocusOptions: 'readonly',

spyOnDev: 'readonly',
spyOnDevAndProd: 'readonly',
Expand Down
18 changes: 0 additions & 18 deletions .github/ISSUE_TEMPLATE/19.md

This file was deleted.

23 changes: 20 additions & 3 deletions .github/workflows/compiler_discord_notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,41 @@ name: (Compiler) Discord Notify

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

permissions: {}

jobs:
check_access:
runs-on: ubuntu-latest
outputs:
is_member_or_collaborator: ${{ steps.check_is_member_or_collaborator.outputs.is_member_or_collaborator }}
steps:
- 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' && github.event.label.name == 'React Core Team' }}
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@v6.0.0
uses: tsickert/discord-webhook@86dc739f3f165f16dadc5666051c367efa1692f4
with:
webhook-url: ${{ secrets.COMPILER_DISCORD_WEBHOOK_URL }}
embed-author-name: ${{ github.event.pull_request.user.login }}
Expand Down
24 changes: 22 additions & 2 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,10 +38,27 @@ 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-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
- 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: npx playwright install-deps
if: steps.cache_playwright_browsers.outputs.cache-hit == 'true'
- run: CI=true yarn test
- run: ls -R test-results
if: '!cancelled()'
Expand All @@ -49,3 +68,4 @@ jobs:
with:
name: test-results
path: compiler/apps/playground/test-results
if-no-files-found: ignore
9 changes: 6 additions & 3 deletions .github/workflows/compiler_prereleases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ on:
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,9 +47,11 @@ 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
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/compiler_prereleases_manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ on:
required: true
type: string

permissions: {}

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

Expand Down
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
2 changes: 2 additions & 0 deletions .github/workflows/compiler_prereleases_weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
# At 10 minutes past 9:00 on Mon
- cron: 10 9 * * 1

permissions: {}

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

Expand Down
26 changes: 19 additions & 7 deletions .github/workflows/compiler_typescript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:
- compiler/**
- .github/workflows/compiler_typescript.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 @@ -45,10 +47,13 @@ jobs:
cache-dependency-path: compiler/yarn.lock
- name: Restore cached node_modules
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'
- run: yarn workspace babel-plugin-react-compiler lint

# Hardcoded to improve parallelism
Expand All @@ -66,17 +71,19 @@ 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'
- run: yarn workspace babel-plugin-react-compiler jest

test:
name: Test ${{ matrix.workspace_name }}
needs: discover_yarn_workspaces
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
workspace_name: ${{ fromJSON(needs.discover_yarn_workspaces.outputs.matrix) }}
steps:
Expand All @@ -90,7 +97,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'
- run: xvfb-run -a yarn workspace ${{ matrix.workspace_name }} test
if: runner.os == 'Linux' && matrix.workspace_name == 'react-forgive'
- run: yarn workspace ${{ matrix.workspace_name }} test
if: matrix.workspace_name != 'react-forgive'
Loading
Loading