Development monorepo for "React Strict DOM".
React Strict DOM (RSD) standardizes the development of styled React components for web and native. The goal of RSD is to improve the speed and efficiency of React development without compromising on performance, reliability, or quality. Building with RSD is helping teams at Meta ship features faster, to more platforms, with fewer engineers.
On web, RSD has no performance overhead relative to Meta's baseline use of React DOM with StyleX. On native platforms, RSD builds on the design goals of the "React DOM for Native proposal" by polyfilling a large number of standard APIs, and by leveraging new web capabilities coming to React Native. Please see COMPATIBILITY.md for a detailed breakdown of the API compatibility for native, and links to specific issues. Register your interest (e.g., thumbsup reaction) in supporting missing features on native platforms.
.github
- Contains workflows used by GitHub Actions.
- Contains issue templates.
apps
- Example applications.
- examples
packages
- Contains the individual packages managed in the monorepo.
- benchmarks
- react-strict-dom (docs)
- scripts
tools
- Tools used by the monorepo (pre-commit tasks, etc.)
build
- Use
npm run build
to run the build script in every workspace. - Use
npm run build -w <package-name>
to run the build script for a specific workspace.
- Use
dev
- Use
npm run dev
to run the dev script in every workspace. - Use
npm run dev -w <package-name>
to run the dev script for a specific workspace.
- Use
test
- Use
npm test
to run tests for every workspace.
- Use
More details and setup instructions can be found in the CONTRIBUTING guide.
This project expects all participants to adhere to Meta's OSS Code of Conduct. Please read the full text so that you can understand what actions will and will not be tolerated.
React Strict DOM is MIT licensed.