Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update RDT fork to support React 19 #14

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3054 commits
Select commit Hold shift + click to select a range
95e610d
Add changelog for 18.3 (#28929)
rickhanlonii Apr 26, 2024
4ddff73
Add changelog for 18.3.1 (#28932)
rickhanlonii Apr 26, 2024
8090457
fix: add `react-server` condition for `react/jsx-dev-runtime` (#28921)
himself65 Apr 27, 2024
190cc99
Import correct prod version of jsx-dev-runtime for react-server (#28939)
eps1lon Apr 27, 2024
d779eba
[react-native] Add unit test to ReactNativeAttributePayload (#28955)
javache Apr 30, 2024
4508873
Move useMemoCache hook to react/compiler-runtime (#28954)
kassens Apr 30, 2024
86e0f87
Dynamically detect reanimated plugin
poteto Apr 30, 2024
fddc015
Remove duplicated hermes-parser
poteto May 1, 2024
c88d356
[healthcheck] Add status message
gsathya May 1, 2024
36d7755
[healthcheck] Check for StrictMode
gsathya May 1, 2024
c464445
[healthcheck] Check for incompatible libraries
gsathya May 1, 2024
4ce5c56
[healthcheck] Refactor checks into separate files
gsathya May 1, 2024
85e6e9b
[hir] Mark MethodCalls as escaping
gsathya May 1, 2024
ebe58ee
Update babel plugin to use runtime from react/compiler-runtime (#2918)
kassens May 1, 2024
f93529e
Don't compile node_modules by default
poteto May 1, 2024
29d3c83
ReactDOM: Fix missing form data when the submitter is outside the for…
jupapios May 2, 2024
c7b1ae5
[Tooling] Update critical artifact list (#28966)
gnoff May 2, 2024
73bcdfb
Introduce a faster version of the addProperties function (#28969)
dmytrorykun May 2, 2024
c44e9d1
Devtools: Streamline getting extension from branch (#28975)
eps1lon May 2, 2024
14f71db
Devtools: Fix build-for-devtools (#28976)
eps1lon May 2, 2024
f5f2799
DevTools: Fix inspecting components with multiple reads of the same C…
eps1lon May 2, 2024
48e0c70
Rename babel plugin
josephsavona May 2, 2024
b844766
Update references to Forget to React Compiler
josephsavona May 2, 2024
95e3cdc
Rename {r,R}unReactForgetBabelPlugin
josephsavona May 3, 2024
1c8f8bf
Rename ReactForgetBabelPlugin locals
josephsavona May 3, 2024
82137ec
Rename react-compiler-runtime
josephsavona May 3, 2024
1d618a9
Enable Wave 1 of Feature Flags for React Native (#28977)
yungsters May 3, 2024
1beb73d
Add flag to test fast jsx (#28816)
jackpope May 3, 2024
8f7dd55
[DevTools] Check in `frontend.d.ts` for react-devtools-fusebox, inclu…
motiz88 May 3, 2024
e3fbb51
[DevTools] Enable inspected element context menu in Fusebox (#28972)
motiz88 May 3, 2024
90863be
Expand the architecture doc
josephsavona May 3, 2024
38cd73b
Stop committing resources to an external repo (#28963)
bigfootjon May 3, 2024
0a0a3af
Bundle config: inline internal hook wrapper (#28978)
kassens May 3, 2024
738ddf7
Support <fbs> in addition to <fbt>
pieterv May 3, 2024
d5c3034
[Flight] Track Owner on AsyncLocalStorage When Available (#28807)
sebmarkbage May 3, 2024
5fcfd71
Use undici polyfill for tests in old Node versions (#28887)
sebmarkbage May 3, 2024
ec9400d
[Flight Reply] Encode ReadableStream and AsyncIterables (#28893)
sebmarkbage May 3, 2024
46abd7b
Update `compiled-rn` destination paths to `vendor/react` (#28989)
yungsters May 3, 2024
5d29478
Add FB build for ReactReconcilerConstants (#29003)
jackpope May 6, 2024
e177154
Remove domain from playground font sources (#2934)
kassens May 6, 2024
9b13002
Setup Wave 2 of Feature Flags for React Native (#28990)
yungsters May 6, 2024
b498834
Set enableUseMemoCacheHook to true everywhere (#28964)
kassens May 6, 2024
95ba7dc
Update readme and other docs
josephsavona May 6, 2024
e63d3d1
Upgrade to React 19 beta (#2938)
kassens May 6, 2024
3708c36
[easy] remove unstable_useMemoCache reference from a snapshot file (#…
kassens May 6, 2024
e2d4734
Use default runtimeModule setting in Snap tests (#2940)
kassens May 6, 2024
84d28eb
Default to raising all errors in eslint plugin
poteto May 7, 2024
d0a51e7
Allow eslint rule reportable severity to be set
poteto May 7, 2024
b28c53d
Clarify how to address ValidateNoCapitalizedCalls errors
poteto May 7, 2024
7caf071
Add failing test for eslint-plugin false positive
poteto May 7, 2024
7039834
Create Fabric-specific version of ReactNativeAttributesPayload (#28841)
dmytrorykun May 7, 2024
55d6c6e
CI: move .github directory back to root (#2941)
kassens May 7, 2024
afe54bf
[DevTools] Expose "view source" options to Fusebox integration (#28973)
motiz88 May 7, 2024
0fc9c84
Allow specifying timeout in tests via third argument (#29006)
eps1lon May 7, 2024
90a5d48
CI: fix Rust CI workflows (#2942)
kassens May 7, 2024
c32ff0f
fix[react-devtools]: add backwards compat with legacy element type sy…
hoxyq May 7, 2024
e7d213d
feat[react-devtools]: display forget badge for components in profilin…
hoxyq May 7, 2024
fd873e8
Rust: add stub for ensure_sufficient_stack (#2943)
kassens May 7, 2024
257f22a
CI: fix Compiler TypeScript workflow (#2946)
kassens May 7, 2024
f4c12cc
CI: fix Compiler Playground workflow (#2945)
kassens May 7, 2024
5a1cbc7
CI: remove react.yml integration test workflow (#2947)
kassens May 7, 2024
826bf4e
[Flight Reply] Encode binary streams as a single collapsed Blob (#28986)
sebmarkbage May 8, 2024
6bac4f2
[Fizz] Fallback to client replaying actions if we're trying to serial…
sebmarkbage May 8, 2024
ec15267
[Flight Reply] Resolve outlined models async in Reply just like in Fl…
sebmarkbage May 8, 2024
e150a32
fix[react-devtools/ci]: fix configurations for e2e testing (#29016)
hoxyq May 8, 2024
b37e4b4
Clean up fastAddProperties and make it more correct (#29015)
dmytrorykun May 8, 2024
0e6ea69
fix[react-devtools/InspectedElementView.css]: dont draw bottom border…
hoxyq May 8, 2024
1717ab0
React DevTools 5.1.0 -> 5.2.0 (#29022)
hoxyq May 8, 2024
6946ebe
Cleanup enableServerComponentKeys flag (#28743)
kassens May 8, 2024
b1d4096
Facebook: merge react index.classic.fb and index.modern.fb (#29025)
kassens May 8, 2024
04b0588
Upgrade jest and jsdom (#29026)
jenseng May 8, 2024
151cce3
Track Stack of JSX Calls (#29032)
sebmarkbage May 9, 2024
c334563
Support useFormStatus in progressively-enhanced forms (#29019)
acdlite May 9, 2024
6b23c25
Support HMR
josephsavona May 9, 2024
7a78d03
[Flight] Encode references to existing objects by property path (#28996)
sebmarkbage May 9, 2024
38d9f15
[Flight Reply] Dedupe Objects and Support Cyclic References (#28997)
sebmarkbage May 9, 2024
6c409ac
[Flight Reply] Encode Objects Returned to the Client by Reference (#2…
sebmarkbage May 10, 2024
6ef0dd4
[Flight] Enable Binary and ReadableStreams in Stable (#29035)
sebmarkbage May 10, 2024
2c022b8
Clean up the enableEarlyReturnForPropDiffing experiment (#29041)
dmytrorykun May 10, 2024
9d76c95
[Flight] Error if a legacy React Element is attempted to be rendered …
sebmarkbage May 10, 2024
c58142b
ReAnimated -> Reanimated
poteto May 11, 2024
9b0044e
Better detection for reanimated
poteto May 11, 2024
db34843
[healthcheck] Build with rollup
poteto May 11, 2024
9a6ce33
[healthcheck] Fix build
poteto May 11, 2024
63e5330
[healthcheck] Rename to react-compiler-healthcheck
poteto May 11, 2024
76b7331
[healthcheck] Only glob files with certain extensions by default
poteto May 11, 2024
78da5be
[healthcheck] Remove console.error
poteto May 11, 2024
9ef7557
[healthcheck] Don't compile mjs
poteto May 11, 2024
669e8d0
[healthcheck] Refine glob pattern
poteto May 11, 2024
7e3be12
Use unique name for c import local identifier
josephsavona May 13, 2024
4cf7ee2
CI: remove non-functional Rust compiler benchmark workflow (#2948)
kassens May 13, 2024
ce0c08e
[healthcheck] Clean up ignorelist and check if deps exist
poteto May 13, 2024
b956024
Fix Jest tests
josephsavona May 13, 2024
5f28f51
Enable `enableUnifiedSyncLane` for React Native (Meta) (#29052)
yungsters May 14, 2024
26f2496
Remove 2 no longer existing files from inlinedHostConfig (#29027)
kassens May 14, 2024
5a842db
Fix healthcheck package.json bin field
poteto May 14, 2024
67ea821
[publish] Fix `files` field for packages, invalid version range
poteto May 14, 2024
6948639
[publish] Add script to publish packages
poteto May 14, 2024
6457343
Don't emit types for babel-plugin-react-compiler
poteto May 14, 2024
ecccaf6
Fix CI for compiler paths
poteto May 14, 2024
915b914
Bump React 19 beta to RC (#29060)
acdlite May 15, 2024
41142f3
Unthrow publish script
poteto May 15, 2024
d794e4a
Bump version to 0.0.0-experimental-4690415-20240515
poteto May 15, 2024
5501ebc
Bump version to 0.0.0-experimental-e04a001-20240515
poteto May 15, 2024
740b7c1
Bump version to 0.0.0-experimental-410375f-20240515
poteto May 15, 2024
575477a
Publish React Compiler to open source
josephsavona May 15, 2024
71565a9
Merge pull request #29061 from facebook/compiler
josephsavona May 15, 2024
cfeb491
Add a `main` field to `eslint-plugin-react-compiler`, fixes #29068. (…
cpojer May 15, 2024
c93c30f
Fix ESLint and Prettier configs for React Compiler (#29073)
josephsavona May 15, 2024
5e11e7f
[heathcheck] Check for namespaced StrictMode (#29076)
gsathya May 15, 2024
3adca7a
compiler: fix jsx text attributes with double quotes (#29079)
josephsavona May 15, 2024
cf7d895
[compiler:eslint] Fix false positive with TS type param syntax
poteto May 15, 2024
5572edc
[compiler] Various fixes for publishing script
poteto May 15, 2024
a0eb265
[compiler] Check if current branch is main
poteto May 15, 2024
50c999e
[compiler] Add readme for babel plugin
poteto May 15, 2024
5052bfb
chore(docs): fix typo (plugion => plugin) in DESIGN_GOALS.md (#29086)
styfle May 16, 2024
7f22c52
[compiler:publish] Specify https for registry
poteto May 16, 2024
f470ba3
Bump version to 0.0.0-experimental-c23de8d-20240515
poteto May 16, 2024
c912057
Bump version to 0.0.0-experimental-53bb89e-20240515
poteto May 16, 2024
149b917
Bump version to 0.0.0-experimental-8d5174c-20240515
poteto May 16, 2024
e8779a9
[React Compiler] use `filename` instead of `context.filename` in ESLi…
kirillzyusko May 16, 2024
94896cb
[React Compiler] Fix rule name for ESLint plugin (#29096)
amannn May 16, 2024
91e88f9
allow compiler playground to scroll horizontally
jbonta May 16, 2024
7a149aa
docs: fix typo DESIGN_GOALS.md (#29102)
skyt-a May 16, 2024
5ab5471
compiler: merge reactive scopes across const StoreLocal (#29095)
josephsavona May 17, 2024
3f1436c
[compiler:playground] Fix broken builds
poteto May 17, 2024
477a3d1
[compiler] Todo for for-await loops
josephsavona May 17, 2024
af3a55e
Lazily freeze in case anything in the currently initializing chunk is…
sebmarkbage May 17, 2024
be6712f
compiler: Workaround Babel bug with unicode in jsx string attrs
josephsavona May 17, 2024
ecddf3c
Add issue template for React Compiler
poteto May 17, 2024
6400172
compiler: update comment on memo cache import code
josephsavona May 17, 2024
1d6eebf
[Compiler][script] Dedupe error report counts before reporting in hea…
mofeiZ May 17, 2024
541e3c5
[compiler:playground] Resizable tabs (#29133)
abizek May 17, 2024
5a12a0d
compiler: workaround babel issue with html entity escaping
josephsavona May 17, 2024
e7673e4
[compiler:publish] Rename publish script
poteto May 17, 2024
4fbc3a3
[compiler:publish] Don't hash node_modules
poteto May 17, 2024
b195a94
[compiler:publish] Prompt for OTP
poteto May 17, 2024
38d961f
[compiler:publish] Bump time to reconsider to 3s
poteto May 17, 2024
1052a5f
[compiler:publish] Don't check branch in debug mode
poteto May 17, 2024
c2a64b0
Bump version to 0.0.0-experimental-592953e-20240517
poteto May 17, 2024
630c6fb
Bump version to 0.0.0-experimental-c8b3f72-20240517
poteto May 17, 2024
597ad74
Bump version to 0.0.0-experimental-f978439-20240517
poteto May 17, 2024
ff60b11
Add packageManager fields for Corepack compat (#29114)
merrywhether May 18, 2024
ccb06b0
Add hyperlink for Good First Issues header (#29103)
NickeSteenen May 19, 2024
f74c5cc
feat(hyperlink): added a hyperlink to Node in README.md file (#28940)
itzzjb May 19, 2024
8592369
compiler: Improve ValidateNoRefAccessInRender to ignore access in eff…
josephsavona May 17, 2024
cca15a2
compiler: fix accidental propagation of function effects from StartMe…
josephsavona May 17, 2024
68de7d0
[compiler:chore] fix SSA pdf reference link (#29162)
HerringtonDarkholme May 20, 2024
8287cb9
Bump postcss from 8.4.24 to 8.4.31 in /compiler (#29063)
dependabot[bot] May 20, 2024
9abea0c
Bump rustix from 0.37.22 to 0.37.27 in /compiler (#29173)
dependabot[bot] May 20, 2024
ba51ebe
Bump tough-cookie from 4.1.2 to 4.1.4 in /compiler (#29065)
dependabot[bot] May 20, 2024
c325aec
Bump word-wrap from 1.2.3 to 1.2.5 in /compiler (#29064)
dependabot[bot] May 20, 2024
d14ce51
refactor[react-devtools]: rewrite context menus (#29049)
hoxyq May 20, 2024
57fbe3b
[Compiler playground] bold changed passes (#29159)
JackYoustra May 20, 2024
d3ce0d3
feat(compiler-healthcheck): Support strict mode check for nextjs apps…
abizek May 20, 2024
6f90365
React DOM: Add support for Popover API (#27981)
eps1lon May 20, 2024
bf046e8
React DOM: Treat toggle and beforetoggle as discrete events (#29176)
eps1lon May 20, 2024
55dd0b1
Stop using Scheduler.log to test double invocations (#29008)
eps1lon May 20, 2024
7621466
Enable `disableStringRefs` and `enableRefAsProp` for React Native (Me…
yungsters May 21, 2024
5cc9f69
Fix assertConsoleErrorDev on message mismatch with withoutStack: true…
eps1lon May 21, 2024
8f3c052
[Flight / Flight Reply] Don't clear pending listeners when entering b…
sebmarkbage May 21, 2024
0a0a5c0
[compiler:playground] Wait for build before running playground
poteto May 21, 2024
9b3f909
[Flight] don't overwrite existing chunk listeners in 'wakeChunkIfInit…
lubieowoce May 21, 2024
b759b71
[compiler:playground] JS tab is expanded by default
poteto May 21, 2024
0f58454
[compiler:playground] Update babel.config.js
poteto May 21, 2024
217b2cc
[Fiber] render boundary in fallback if it contains a new stylesheet d…
gnoff May 21, 2024
81c5ff2
[Flight Reply] retain listeners when resolving models with existing l…
gnoff May 21, 2024
3ac551e
Dim `console` calls on additional Effect invocations due to `StrictMo…
eps1lon May 22, 2024
f994737
[Flight] Allow temporary references in `decodeReplyFromBusboy` (#29219)
eps1lon May 22, 2024
4c2e457
compiler: Handle TSNonNullAssertion expressions (#29218)
henryqdineen May 22, 2024
2e3e6a9
Unify ReactFiberCurrentOwner and ReactCurrentFiber (#29038)
sebmarkbage May 23, 2024
2e540e2
Set the current fiber to the source of the error during error reporti…
sebmarkbage May 23, 2024
82a0a5f
compiler: fixture for suboptimal jsx sibling memo block merging
josephsavona May 21, 2024
890896b
compiler: Improve merging of memo scopes that invalidate together
josephsavona May 21, 2024
b687fd2
compiler: Use types to decide which scopes are eligible for merging
josephsavona May 23, 2024
5fe8c0b
compiler: repro for unmerged scopes due to intermediates
josephsavona May 23, 2024
84239da
Move createElement/JSX Warnings into the Renderer (#29088)
sebmarkbage May 23, 2024
f55d172
[Fiber] clarify entry condition for suspensey commit recursion (#29222)
gnoff May 23, 2024
ee5c194
Fix async batching in React.startTransition (#29226)
acdlite May 23, 2024
5061f31
compiler: distinguish globals/imports/module-locals
josephsavona May 24, 2024
788ed90
compiler: getGlobalDeclaration() takes a NonLocalBinding
josephsavona May 24, 2024
935180c
compiler: only resolve globals and react imports
josephsavona May 24, 2024
d6cfa0f
[Fiber] Use Owner/JSX Stack When Appending Stacks to Console (#29206)
sebmarkbage May 25, 2024
b078c81
[Fiber] Replace setCurrentDebugFiberInDEV with runWithFiberInDEV (#29…
sebmarkbage May 25, 2024
ea6e059
[Fiber] Enable Native console.createTask Stacks When Available (#29223)
sebmarkbage May 26, 2024
6f23540
cleanup[react-devtools]: remove unused supportsProfiling flag from st…
hoxyq May 28, 2024
4ec6a6f
Repro function expr hoisting (#29615)
josephsavona May 28, 2024
681a4aa
Throw if React and React DOM versions don't match (#29236)
acdlite May 28, 2024
2787eeb
Clean up disableDOMTestUtils (#29610)
jackpope May 28, 2024
1631227
Fix: Use action implementation at time of dispatch (#29618)
acdlite May 28, 2024
97722ca
Export `version` from `react-dom` entry with `react-server` condition…
unstubbable May 28, 2024
4633972
compiler: error on reassigning to const
josephsavona May 28, 2024
bd4bb32
compiler: fix for calls on builtin jsx/function types
josephsavona May 28, 2024
1816476
[Flight] Check if a return value is a client reference before introsp…
sebmarkbage May 28, 2024
a9a0106
feat(compiler): Implement constant string concat propagation (#29621)
nikeee May 28, 2024
61aa159
[compiler] Fix up prettier
poteto May 29, 2024
c998bb1
[compiler] Run prettier, fix snap
poteto May 29, 2024
9d530e9
[compiler:babel] Don't read config files when not running as part of
poteto May 29, 2024
81c3775
[compiler] Ignore run prettier commit in git blame
poteto May 29, 2024
84c47b3
Bump version to 0.0.0-experimental-487cb0e-20240529
poteto May 29, 2024
bd30dc3
Bump version to 0.0.0-experimental-a97cca1-20240529
poteto May 29, 2024
b44263a
Bump version to 0.0.0-experimental-31393f7-20240529
poteto May 29, 2024
3b29ed1
Fix "findNodeHandle inside its render()" False Positive Warning (#29627)
yungsters May 29, 2024
e2e12f3
Update .git-blame-ignore-revs
poteto May 29, 2024
49ed6f0
compiler: Allow global mutation in jsx props
josephsavona May 25, 2024
c272789
compiler: Add todo for getter/setter syntax
josephsavona May 25, 2024
afb2c39
compiler: fixtures for fast-refresh mode (w todos)
josephsavona May 20, 2024
38e3b23
Tweak error message for "Should have a queue" (#29626)
sophiebits May 29, 2024
320da67
feat(compiler): Compiler Logical Negation Constant Propagation (#29623)
nikeee May 29, 2024
867edc6
compiler: ValidateNoRefInRender detects writes of refs
josephsavona May 29, 2024
c2b45ef
feat(compiler): Implement constant folding for more binary expression…
nikeee May 29, 2024
51dd096
Add tests for ReactNativeAttributePayloadFabric.js (#29608)
dmytrorykun May 30, 2024
72644ef
Fix `key` Warning for Flattened Positional Children (#29662)
yungsters May 30, 2024
5bd4031
Revert Build Versions from Content Hash to Commit Hash (#29663)
yungsters May 30, 2024
fb61a1b
fix[ReactDebugHooks/find-primitive-index]: remove some assumptions (#…
hoxyq May 30, 2024
9d4fba0
[Flight] Eval Fake Server Component Functions to Recreate Native Stac…
sebmarkbage May 30, 2024
9710853
[Flight] Try/Catch Eval (#29671)
sebmarkbage May 30, 2024
aa3d6c0
Add react-easy-state to list of known incompatible libraries. (#29661)
joshwilsonvu May 30, 2024
8fd963a
Fix Missing `key` Validation in `React.Children` (#29675)
yungsters May 31, 2024
63d673c
Use both displayName and name in forwardRef/memo (#29625)
sebmarkbage May 31, 2024
6d3110b
Don't allow blank issues (#29691)
rickhanlonii May 31, 2024
8bc81ca
Create a root task for every Flight response (#29673)
sebmarkbage May 31, 2024
28fe581
[compiler] Option for preserving calls to useMemo/useCallback
mvitousek May 31, 2024
8b01a2e
[compiler] Option to always take the non-memo branch
mvitousek May 31, 2024
5c420e3
[compiler] Debug tool to emit change detection code rather than memoi…
mvitousek May 31, 2024
c69211a
[compiler] Prune dependencies that are only used by useRef or useState
mvitousek May 31, 2024
522d22f
[compiler] Recompute values every time
mvitousek May 31, 2024
ec6fe57
[compiler] rfc: Include location information in identifiers and react…
mvitousek May 31, 2024
adbec0c
Fix: `useTransition` after `use` gets stuck in pending state (#29670)
acdlite May 31, 2024
113c8e7
[compiler:eslint] Don't crash if hermes parser fails to parse
poteto May 31, 2024
b17016c
Bump version to 0.0.0-experimental-938cd9a-20240601
poteto May 31, 2024
c6b651b
Bump version to 0.0.0-experimental-51a85ea-20240601
poteto May 31, 2024
d77dd31
Bump version to 0.0.0-experimental-7054a14-20240601
poteto May 31, 2024
ba099e4
[Flight] Add findSourceMapURL option to get a URL to load Server sour…
sebmarkbage Jun 3, 2024
5ad2c37
Skip empty sync commits (both repos) (#29707)
rickhanlonii Jun 3, 2024
b421783
Don't skip www commit
rickhanlonii Jun 3, 2024
47d0c30
[Fiber][Float] Error when a host fiber changes "flavor" (#29693)
gnoff Jun 3, 2024
def67b9
Fix stylesheet typo in 29693 (#29732)
gnoff Jun 3, 2024
67b05be
useActionState: Transfer transition context (#29694)
acdlite Jun 3, 2024
9598c41
useActionState: On error, cancel remaining actions (#29695)
acdlite Jun 3, 2024
bf3a29d
Update build script to automatically generate RCs (#29736)
acdlite Jun 3, 2024
4dcdf21
[Fiber] Prefix owner stacks with the current stack at the console cal…
sebmarkbage Jun 3, 2024
8c3697a
Fix xplat sync to ignore @generated header (#29738)
rickhanlonii Jun 3, 2024
8b677b1
compiler: Allow opting out of installed library check
josephsavona Jun 3, 2024
4082582
fix<compiler>: only call readTestFilter if the filter option is enabl…
TrickyPi Jun 3, 2024
a26e90c
www: set enableRefAsProp to true (#29756)
kassens Jun 4, 2024
9185b9b
Remove startTransition and useActionState from react-server condition…
huozhi Jun 4, 2024
eabb681
Add xplat test variants (#29734)
rickhanlonii Jun 4, 2024
e177f0b
Merge branch 'main' into feature/replay-react-devtools
markerikson Jun 4, 2024
db731f5
Remove unneeded Stylex code
markerikson Jun 5, 2024
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.
170 changes: 109 additions & 61 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2.1

aliases:
- &docker
- image: cimg/openjdk:18.0-node
- image: cimg/node:18.20.1-browsers

- &environment
TZ: /usr/share/zoneinfo/America/Los_Angeles
Expand Down Expand Up @@ -53,6 +53,9 @@ commands:
if [ $? -ne 0 ]; then
yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
fi
environment:
# If we start needing the Electron binary, please ensure the binary is cached in CI following https://www.electronjs.org/docs/latest/tutorial/installation
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
- save_cache:
name: Save yarn cache
key: v2-yarn_cache-{{ arch }}-{{ checksum "yarn.lock" }}
Expand Down Expand Up @@ -81,7 +84,6 @@ jobs:
- run: node ./scripts/prettier/index
- run: node ./scripts/tasks/eslint
- run: ./scripts/circleci/check_license.sh
- run: ./scripts/circleci/check_modules.sh
- run: ./scripts/circleci/test_print_warnings.sh

yarn_flow:
Expand All @@ -94,6 +96,16 @@ jobs:
- setup_node_modules
- run: node ./scripts/tasks/flow-ci


yarn_flags:
docker: *docker
environment: *environment

steps:
- checkout
- setup_node_modules
- run: yarn flags

scrape_warning_messages:
docker: *docker
environment: *environment
Expand All @@ -103,8 +115,8 @@ jobs:
- setup_node_modules
- run:
command: |
mkdir -p ./build
node ./scripts/print-warnings/print-warnings.js > build/WARNINGS
mkdir -p ./build/__test_utils__
node ./scripts/print-warnings/print-warnings.js > build/__test_utils__/ReactAllWarnings.js
- persist_to_workspace:
root: .
paths:
Expand Down Expand Up @@ -151,32 +163,11 @@ jobs:
- setup_node_modules
- run:
name: Download artifacts for base revision
# TODO: The download-experimental-build.js script works by fetching
# artifacts from CI. CircleCI recently updated this endpoint to
# require an auth token. This is a problem for PR branches, where
# sizebot needs to run, because we don't want to leak the token to
# arbitrary code written by an outside contributor.
#
# This only affects PR branches. CI workflows that run on the main
# branch are allowed to access environment variables, because only those
# with push access can land code in main.
#
# As a temporary workaround, we'll fetch the assets from a mirror.
# Need to figure out a longer term solution for this.
#
# Original code
#
# command: |
# git fetch origin main
# cd ./scripts/release && yarn && cd ../../
# scripts/release/download-experimental-build.js --commit=$(git merge-base HEAD origin/main) --allowBrokenCI
# mv ./build ./base-build
#
# Workaround. Fetch the artifacts from react-builds.vercel.app. This
# is the same app that hosts the sizebot diff previews.
command: |
curl -L --retry 60 --retry-delay 10 --retry-max-time 600 https://react-builds.vercel.app/api/commits/$(git merge-base HEAD origin/main)/artifacts/build.tgz | tar -xz
mv ./build ./base-build
git fetch origin main
cd ./scripts/release && yarn && cd ../../
scripts/release/download-experimental-build.js --commit=$(git merge-base HEAD origin/main) --allowBrokenCI
mv ./build ./base-build

- run:
# TODO: The `download-experimental-build` script copies the npm
Expand Down Expand Up @@ -220,6 +211,8 @@ jobs:
- setup_node_modules
- run:
command: node ./scripts/tasks/danger
- store_artifacts:
path: sizebot-message.md

build_devtools_and_process_artifacts:
docker: *docker
Expand All @@ -235,6 +228,13 @@ jobs:
command: ./scripts/circleci/pack_and_store_devtools_artifacts.sh
- store_artifacts:
path: ./build/devtools.tgz
# Simplifies getting the extension for local testing
- store_artifacts:
path: ./build/devtools/chrome-extension.zip
destination: react-devtools-chrome-extension.zip
- store_artifacts:
path: ./build/devtools/firefox-extension.zip
destination: react-devtools-firefox-extension.zip

run_devtools_e2e_tests:
docker: *docker
Expand All @@ -254,6 +254,52 @@ jobs:
RELEASE_CHANNEL: experimental
command: ./scripts/circleci/run_devtools_e2e_tests.js

run_fixtures_flight_tests:
docker: *docker
environment: *environment
steps:
- checkout
- attach_workspace:
at: .
# Fixture copies some built packages from the workroot after install.
# That means dependencies of the built packages are not installed.
# We need to install dependencies of the workroot to fulfill all dependency constraints
- setup_node_modules
- restore_cache:
name: Restore yarn cache of fixture
keys:
- v2-yarn_cache_fixtures_flight-{{ arch }}-{{ checksum "yarn.lock" }}
- run:
name: Install fixture dependencies
working_directory: fixtures/flight
command: |
yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
if [ $? -ne 0 ]; then
yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
fi
- save_cache:
name: Save yarn cache of fixture
key: v2-yarn_cache_fixtures_flight-{{ arch }}-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
- run:
working_directory: fixtures/flight
name: Playwright install deps
command: |
npx playwright install
sudo npx playwright install-deps
- run:
name: Run tests
working_directory: fixtures/flight
command: yarn test
environment:
# Otherwise the webserver is a blackbox
DEBUG: pw:webserver
- store_artifacts:
path: fixtures/flight/playwright-report
- store_artifacts:
path: fixtures/flight/test-results

run_devtools_tests_for_versions:
docker: *docker
environment: *environment
Expand Down Expand Up @@ -391,18 +437,6 @@ jobs:
yarn predev
yarn test --maxWorkers=2

test_fuzz:
docker: *docker
environment: *environment
steps:
- checkout
- setup_node_modules
- run:
name: Run fuzz tests
command: |
FUZZ_TEST_SEED=$RANDOM yarn test fuzz --ci
FUZZ_TEST_SEED=$RANDOM yarn test --prod fuzz --ci

publish_prerelease:
parameters:
commit_sha:
Expand All @@ -426,11 +460,15 @@ jobs:
scripts/release/publish.js --ci --tags << parameters.dist_tag >>

workflows:
version: 2

build_and_test:
unless: << pipeline.parameters.prerelease_commit_sha >>
jobs:
- yarn_flags:
filters:
branches:
ignore:
- builds/facebook-www
- yarn_flow:
filters:
branches:
Expand Down Expand Up @@ -469,6 +507,10 @@ workflows:
- "-r=www-modern --env=production --variant=false"
- "-r=www-modern --env=development --variant=true"
- "-r=www-modern --env=production --variant=true"
- "-r=xplat --env=development --variant=false"
- "-r=xplat --env=development --variant=true"
- "-r=xplat --env=production --variant=false"
- "-r=xplat --env=production --variant=true"

# TODO: Test more persistent configurations?
- '-r=stable --env=development --persistent'
Expand Down Expand Up @@ -514,6 +556,12 @@ workflows:
# - "-r=www-modern --env=development --variant=true"
# - "-r=www-modern --env=production --variant=true"

# TODO: Update test config to support xplat build tests
# - "-r=xplat --env=development --variant=false"
# - "-r=xplat --env=development --variant=true"
# - "-r=xplat --env=production --variant=false"
# - "-r=xplat --env=production --variant=true"

# TODO: Test more persistent configurations?
- download_base_build_for_sizebot:
filters:
Expand Down Expand Up @@ -547,19 +595,9 @@ workflows:
- run_devtools_e2e_tests:
requires:
- build_devtools_and_process_artifacts

fuzz_tests:
unless: << pipeline.parameters.prerelease_commit_sha >>
triggers:
- schedule:
# Fuzz tests run hourly
cron: "0 * * * *"
filters:
branches:
only:
- main
jobs:
- test_fuzz
- run_fixtures_flight_tests:
requires:
- yarn_build

devtools_regression_tests:
unless: << pipeline.parameters.prerelease_commit_sha >>
Expand Down Expand Up @@ -605,18 +643,28 @@ workflows:
when: << pipeline.parameters.prerelease_commit_sha >>
jobs:
- publish_prerelease:
name: Publish to Next channel
name: Publish to Canary channel
commit_sha: << pipeline.parameters.prerelease_commit_sha >>
release_channel: stable
dist_tag: "next"
# The tags to use when publishing canaries. The main one we should
# always include is "canary" but we can use multiple (e.g. alpha,
# beta, rc). To declare multiple, use a comma-separated string, like
# this:
# dist_tag: "canary,alpha,beta,rc"
#
# TODO: We currently tag canaries with "next" in addition to "canary"
# because this used to be called the "next" channel and some
# downstream consumers might still expect that tag. We can remove this
# after some time has elapsed and the change has been communicated.
dist_tag: "canary,next,rc"
- publish_prerelease:
name: Publish to Experimental channel
requires:
# NOTE: Intentionally running these jobs sequentially because npm
# will sometimes fail if you try to concurrently publish two
# different versions of the same package, even if they use different
# dist tags.
- Publish to Next channel
- Publish to Canary channel
commit_sha: << pipeline.parameters.prerelease_commit_sha >>
release_channel: experimental
dist_tag: experimental
Expand All @@ -634,18 +682,18 @@ workflows:
- main
jobs:
- publish_prerelease:
name: Publish to Next channel
name: Publish to Canary channel
commit_sha: << pipeline.git.revision >>
release_channel: stable
dist_tag: "next"
dist_tag: "canary,next,rc"
- publish_prerelease:
name: Publish to Experimental channel
requires:
# NOTE: Intentionally running these jobs sequentially because npm
# will sometimes fail if you try to concurrently publish two
# different versions of the same package, even if they use different
# dist tags.
- Publish to Next channel
- Publish to Canary channel
commit_sha: << pipeline.git.revision >>
release_channel: experimental
dist_tag: experimental
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ scripts/bench/benchmarks/**/*.js
# React repository clone
scripts/bench/remote-repo/

# Compiler uses its own lint setup
compiler/

packages/react-devtools-core/dist
packages/react-devtools-extensions/chrome/build
packages/react-devtools-extensions/firefox/build
packages/react-devtools-extensions/shared/build
packages/react-devtools-extensions/src/ErrorTesterCompiled.js
packages/react-devtools-fusebox/dist
packages/react-devtools-inline/dist
packages/react-devtools-shared/src/hooks/__tests__/__source__/__compiled__/
packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/
Expand Down
Loading
Loading