facebook / flipper
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 (53 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 12 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 53 components.
  • 1,071 files, 97,772 lines of code (100.0% vs. main code).
  • "desktop/flipper-ui-core" is biggest, containing 24.33% of code.
  • "desktop/eslint-rules" is smallest, containing 0% of code.


desktop/flipper-ui-core23788 LOC (24%) 217 files
desktop/plugins12345 LOC (12%) 83 files
desktop/flipper-plugin11070 LOC (11%) 80 files
android/src9873 LOC (10%) 108 files
iOS/Plugins6465 LOC (6%) 114 files
desktop/flipper-server-core6317 LOC (6%) 71 files
desktop/scripts2895 LOC (2%) 28 files
desktop/static2594 LOC (2%) 11 files
android/plugins2185 LOC (2%) 21 files
xplat/Flipper2111 LOC (2%) 33 files
iOS/FlipperKit1654 LOC (1%) 32 files
desktop/flipper-common1555 LOC (1%) 19 files
website/src955 LOC (<1%) 8 files
libs/jni-hack920 LOC (<1%) 2 files
desktop/app869 LOC (<1%) 8 files
desktop/babel-transformer836 LOC (<1%) 22 files
xplat/FlipperWebSocket793 LOC (<1%) 7 files
android/sample754 LOC (<1%) 23 files
desktop/pkg741 LOC (<1%) 11 files
desktop/flipper-server634 LOC (<1%) 6 files
website626 LOC (<1%) 4 files
react-native/react-native-flipper610 LOC (<1%) 13 files
desktop/plugin-lib596 LOC (<1%) 8 files
website/static561 LOC (<1%) 4 files
packer/src529 LOC (<1%) 5 files
desktop/flipper-ui-browser498 LOC (<1%) 6 files
android/tutorial441 LOC (<1%) 17 files
js/js-flipper425 LOC (<1%) 9 files
xplat/FlipperTests395 LOC (<1%) 2 files
iOS/FlipperKitTests374 LOC (<1%) 3 files
desktop/doctor369 LOC (<1%) 3 files
iOS/Sample364 LOC (<1%) 13 files
desktop/eslint-plugin-flipper319 LOC (<1%) 8 files
react-native/ReactNativeFlipperExample297 LOC (<1%) 13 files
desktop/pkg-lib293 LOC (<1%) 5 files
desktop/flipper-dump231 LOC (<1%) 1 files
xplat/FlipperTestLib201 LOC (<1%) 5 files
scripts171 LOC (<1%) 1 files
iOS/SampleSwift162 LOC (<1%) 5 files
desktop/themes150 LOC (<1%) 4 files
iOS/FlipperKitTestUtils136 LOC (<1%) 6 files
js/react-flipper-example134 LOC (<1%) 6 files
scripts/bump130 LOC (<1%) 3 files
scripts/stricter109 LOC (<1%) 3 files
iOS/Tutorial104 LOC (<1%) 4 files
android/no-op60 LOC (<1%) 5 files
desktop36 LOC (<1%) 3 files
PortForwardingMacApp26 LOC (<1%) 1 files
packer26 LOC (<1%) 1 files
desktop/test-utils25 LOC (<1%) 3 files
iOS/SonarKitTests12 LOC (<1%) 1 files
iOS/FBDefines6 LOC (<1%) 1 files
desktop/eslint-rules2 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-04-14 23:22