microsoft / react-native-windows
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (37 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 37 components.
  • 1,536 files, 140,739 lines of code (100.0% vs. main code).
  • "vnext/Microsoft.ReactNative" is biggest, containing 22.36% of code.
  • "packages/@rnw-bots" is smallest, containing 0% of code.


vnext/Microsoft.ReactNative31476 LOC (22%) 363 files
packages/@react-native-windows16428 LOC (11%) 127 files
vnext/Mso13405 LOC (9%) 106 files
vnext/Shared9323 LOC (6%) 109 files
packages/@office-iss7960 LOC (5%) 72 files
vnext/Microsoft.ReactNative.Cxx7066 LOC (5%) 58 files
vnext/src6637 LOC (4%) 61 files
packages/react-native-platform-override6231 LOC (4%) 28 files
vnext/Microsoft.ReactNative.Managed4834 LOC (3%) 35 files
vnext/codegen4228 LOC (3%) 70 files
vnext/ReactCommon4141 LOC (2%) 6 files
packages/@react-native3453 LOC (2%) 39 files
packages/@rnw-scripts3004 LOC (2%) 39 files
vnext/Microsoft.ReactNative.Managed.CodeGen2738 LOC (1%) 25 files
packages/sample-apps2535 LOC (1%) 60 files
vnext/Desktop2436 LOC (1%) 29 files
vnext/Microsoft.ReactNative.IntegrationTests2175 LOC (1%) 28 files
vnext/Scripts1915 LOC (1%) 28 files
packages/playground1728 LOC (1%) 34 files
vnext/Chakra1500 LOC (1%) 14 files
vnext/PropertySheets1063 LOC (<1%) 67 files
vnext/Desktop.IntegrationTests1024 LOC (<1%) 15 files
vnext/template970 LOC (<1%) 39 files
vnext/Folly918 LOC (<1%) 6 files
vnext/Desktop.ABITests808 LOC (<1%) 19 files
vnext/Microsoft.ReactNative.ComponentTests683 LOC (<1%) 11 files
packages/react-native-windows-init560 LOC (<1%) 5 files
vnext/Common291 LOC (<1%) 5 files
vnext218 LOC (<1%) 9 files
ROOT216 LOC (<1%) 5 files
vnext/fmt199 LOC (<1%) 4 files
vnext/Desktop.DLL182 LOC (<1%) 4 files
vnext/stubs157 LOC (<1%) 5 files
vnext/include124 LOC (<1%) 6 files
vnext/FollyWin32100 LOC (<1%) 2 files
vnext/Microsoft.ReactNative.ProjectReunion8 LOC (<1%) 2 files
packages/@rnw-bots5 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 13:21