MSBuild Project Structure
This is a description of each of the core projects, their purpose and output artifacts.
Sample applications are not covered.
Alphabetical Index
Common\Common.vcxprojChakra\Chakra.vcxitemsDesktop\React.Windows.Desktop.vcxprojDesktop.DLL\React.Windows.Desktop.DLL.vcxprojDesktop.IntegrationTests\React.Windows.Desktop.IntegrationTests.vcxprojDesktop.UnitTests\React.Windows.Desktop.UnitTests.vcxprojFolly\Folly.vcxprojFollyWin32\FollyWin32.vcxprojIntegrationTestScripts\IntegrationTests.njsprojIntegrationTests\React.Windows.IntegrationTests.vcxprojJSI\Desktop\JSI.Desktop.vcxprojJSI\Shared\JSI.Shared.vcxitemsJSI\Universal\JSI.Universal.vcxprojJSI.Desktop.UnitTests\JSI.Desktop.UnitTestsMicrosoft.ReactNative\Microsoft.ReactNative.vcxprojMicrosoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitemsMicrosoft.ReactNative.SharedManaged\Microsoft.ReactNative.SharedManaged.projitemsReactCommon\ReactCommon.vcxprojReactUWP\ReactUWP.vcxprojReactWindowsCore\ReactWindowsCore.vcxprojShared\Shared.vcxitemsUniversal.IntegrationTests\React.Windows.Universal.IntegrationTests.vcxprojUniversal.UnitTests\React.Windows.Universal.UnitTests.vcxproj
Common Projects
Common
Static Library
Functionality shared between React and JSI projects that do not depend on React or JSI functionality.
ReactWindowsCore
Static Library
Contains common functionality for both Desktop and Universal Windows variants.
Shared
Shared Items (no build artifact)
Holds sources common to both Windows variants, that require different build configuration
(i.e. compiler flags, language standard).
ReactCommon
Static Library
React Native core, cross-platform C++ types and interfaces.
Sources provided as part of the react-native Node dependency. Not part of this repository.
See https://github.com/facebook/react-native/tree/v0.59.9/ReactCommon.
Folly
Static Library
Folly variant type system for JavaScript/C++ interoperability.
Sources provided as part of the react-native Node dependency. Not part of this repository.
Chakra
Shared Items (no build artifact)
ChakraCore bridging layer. May use different compiler flags between Windows variants.
JSI.Shared
Shared Items (no build artifact)
Code shared between JSI\Desktop\JSI.Desktop.vcxproj and JSI\Universal\JSI.Universal.vcxproj.
Microsoft.ReactNative.Cxx
Shared Items (no build artifact)
Contains helpers to simplify authoring C++/WinRT native modules on top of Microsoft.ReactNative.
Microsoft.ReactNative.SharedManaged
Shared Items (no build artifact)
Contains helpers to simplify authoring C# native modules on top of Microsoft.ReactNative.
React.Windows.IntegrationTests
Static Library
Common framework for running out of process and/or full React instance testing.
IntegrationTests (Node Project)
MSBuild Node project. For reading/editing purposes only (no build artifact)
Set of JavaScript component tests for RNTester.
Sources provided as part of the react-native Node dependency. Not part of this repository.
See https://github.com/facebook/react-native/tree/v0.59.9/IntegrationTests.
Windows Desktop Projects
React.Windows.Desktop
Static Library
Set of Native Modules, View Managers and Executors for Windows Desktop.
React.Windows.Desktop.DLL
Dynamic Library
Shared library that exports the intended public API surface for React.Windows.Desktop.
Main artifact to use in Windows Desktop applications.
React.Windows.Desktop.UnitTests
VSTest Dynamic Library
Set of isolated (mocked) tests for types defined in React.Windows.Desktop.
React.Windows.Desktop.IntegrationTests
VSTest Dynamic Library
Set of component tests that validate functionality against external runtime components
(i.e. networking servers, file system, React Native applications, external processes).
Validates React.Windows.Desktop.DLL.
JSI.Desktop
Static Library
ChakraCore based JSI::Runtime implementation.
JSI.Desktop.UnitTests
Google Test Executable
Set of unit tests for JSI::Runtime.
FollyWin32
Static Library
Super-set of Folly APIs only available and required by React.Windows.Desktop.
Sources provided as part of the react-native Node dependency. Not part of this repository.
Windows Universal Projects
Microsoft.ReactNative
Windows Runtime Component
The primary Windows Universal entry point and public API surface for React Native Windows. Currently depends on the implementation details in ReactUWP.
Main artifact to use in Windows Universal applications.
ReactUWP
Dynamic Library
Set of Native Modules, View Managers and Executors for Windows Universal. Formerly the entry point and ABI surface for React Native Windows, it will eventually be subsumed by Microsoft.ReactNative.
React.Windows.Universal.UnitTests
VSTest Dynamic Library
Set of isolated (mocked) tests for types defined in ReactUWP.
React.Windows.Universal.IntegrationTests
VSTest Dynamic Library
Set of component tests that validate functionality against external runtime components
(i.e. networking servers, file system, React Native applications, external processes).
Validates ReactUWP.
JSI.Universal
Static Library
Chakra based JSI::Runtime implementation.