microsoft / react-native-macos
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 3,879 files with 522,930 lines of code.
    • 48 very long files (185,223 lines of code)
    • 103 long files (70,289 lines of code)
    • 339 medium size files (103,082 lines of codeclsfd_ftr_w_mp_ins)
    • 513 small files (71,907 lines of code)
    • 2,876 very small files (92,429 lines of code)
35% | 13% | 19% | 13% | 17%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
js74% | 2% | 7% | 6% | 8%
h13% | 17% | 24% | 18% | 25%
cpp20% | 17% | 27% | 15% | 18%
m23% | 12% | 28% | 17% | 18%
java5% | 24% | 22% | 19% | 28%
mm8% | 24% | 35% | 17% | 13%
in59% | 23% | 0% | 10% | 5%
cc18% | 45% | 23% | 8% | 3%
bzl0% | 45% | 24% | 9% | 20%
ts0% | 0% | 61% | 19% | 19%
py0% | 0% | 65% | 13% | 21%
cmake0% | 0% | 53% | 13% | 33%
html0% | 0% | 90% | 0% | 9%
S0% | 0% | 0% | 72% | 27%
vcxproj0% | 0% | 0% | 100% | 0%
kt0% | 0% | 0% | 40% | 59%
rb0% | 0% | 0% | 100% | 0%
css0% | 0% | 0% | 0% | 100%
pxd0% | 0% | 0% | 0% | 100%
filters0% | 0% | 0% | 0% | 100%
pro0% | 0% | 0% | 0% | 100%
kts0% | 0% | 0% | 0% | 100%
spec0% | 0% | 0% | 0% | 100%
pyx0% | 0% | 0% | 0% | 100%
gn0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
command0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Libraries74% | 3% | 7% | 6% | 8%
Folly15% | 19% | 31% | 17% | 15%
ReactCommon18% | 14% | 17% | 16% | 32%
React15% | 16% | 29% | 18% | 20%
ReactAndroid8% | 23% | 20% | 18% | 28%
glog25% | 40% | 11% | 11% | 11%
double-conversion0% | 35% | 39% | 16% | 8%
ROOT0% | 74% | 0% | 0% | 25%
packages0% | 4% | 35% | 19% | 39%
android-patches0% | 0% | 44% | 14% | 41%
flow0% | 0% | 81% | 0% | 18%
jest0% | 0% | 57% | 24% | 17%
tools0% | 0% | 46% | 17% | 35%
ReactTurboModuleCxx0% | 0% | 51% | 26% | 22%
bots0% | 0% | 41% | 19% | 38%
scripts0% | 0% | 15% | 39% | 44%
local-cli0% | 0% | 41% | 19% | 39%
jsc0% | 0% | 0% | 52% | 47%
danger0% | 0% | 0% | 100% | 0%
template0% | 0% | 0% | 0% | 100%
website0% | 0% | 0% | 0% | 100%
v8-docker-build0% | 0% | 0% | 0% | 100%
stubs0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ReactNativeRenderer-dev.fb.js
in Libraries/Renderer/implementations
17424 917
ReactFabric-dev.fb.js
in Libraries/Renderer/implementations
17096 888
ReactNativeRenderer-dev.js
in Libraries/Renderer/implementations
16949 899
ReactFabric-dev.js
in Libraries/Renderer/implementations
16418 869
ReactNativeRenderer-profiling.fb.js
in Libraries/Renderer/implementations
8576 416
ReactNativeRenderer-profiling.js
in Libraries/Renderer/implementations
8508 404
ReactFabric-profiling.fb.js
in Libraries/Renderer/implementations
8495 409
ReactFabric-profiling.js
in Libraries/Renderer/implementations
8310 391
ReactNativeRenderer-prod.fb.js
in Libraries/Renderer/implementations
8140 404
ReactNativeRenderer-prod.js
in Libraries/Renderer/implementations
8069 392
ReactFabric-prod.fb.js
in Libraries/Renderer/implementations
8052 397
ReactFabric-prod.js
in Libraries/Renderer/implementations
7870 379
Yoga.cpp
in ReactCommon/yoga/yoga
3626 168
FBString.h
in Folly/folly
2209 115
AsyncSocket.cpp
in Folly/folly/io/async
2060 100
Future-inl.h
in Folly/folly/futures
1939 111
in
Makefile.in
in glog
1912 -
VirtualizedList.js
in Libraries/Lists
1842 42
Compression.cpp
in Folly/folly/compression
1756 112
F14Table.h
in Folly/folly/container/detail
1722 94
Base-inl.h
in Folly/folly/gen
1715 177
FixedString.h
in Folly/folly
1652 134
AsyncSSLSocket.cpp
in Folly/folly/io/async
1568 79
logging.cc
in glog/src
1515 79
RCTView.m
in React/Views
1433 3
LayoutAnimationKeyFrameManager.cpp
in ReactCommon/react/renderer/animations
1390 22
RCTConvert.m
in React/Base
1311 2
RCTUIManager.m
in React/Modules
1306 3
RCTCxxBridge.mm
in React/CxxBridge
1244 8
FBVector.h
in Folly/folly
1239 112
Differentiator.cpp
in ReactCommon/react/renderer/mounting
1234 19
MessageTypes.cpp
in ReactCommon/hermes/inspector/chrome
1214 89
RCTSRWebSocket.m
in Libraries/WebSocket
1206 3
JSCRuntime.cpp
in ReactCommon/jsi
1206 76
jni.h
in ReactAndroid/src/main/jni/first-party/jni-hack/real
1157 129
Expected.h
in Folly/folly
1147 12
F14Policy.h
in Folly/folly/container/detail
1145 88
ReactInstanceManager.java
in ReactAndroid/src/main/java/com/facebook/react
1113 55
Binding.cpp
in ReactAndroid/src/main/java/com/facebook/react/fabric/jni
1089 42
Conv.h
in Folly/folly
1081 35
RCTImageLoader.mm
in Libraries/Image
1079 5
ReactTextInputManager.java
in ReactAndroid/src/main/java/com/facebook/react/views/textinput
1076 77
conversions.h
in ReactCommon/react/renderer/attributedstring
1041 36
RCTScrollView.m
in React/Views/ScrollView
1031 2
F14Map.h
in Folly/folly/container
1023 103
SharedMutex.h
in Folly/folly
1022 87
ScrollView.js
in Libraries/Components/ScrollView
1009 20
DevSupportManagerBase.java
in ReactAndroid/src/main/java/com/facebook/react/devsupport
1004 50
Range.h
in Folly/folly
993 101
dynamic-inl.h
in Folly/folly
982 101
Files With Most Units (Top 20)
File# lines# units
ReactNativeRenderer-dev.fb.js
in Libraries/Renderer/implementations
17424 917
ReactNativeRenderer-dev.js
in Libraries/Renderer/implementations
16949 899
ReactFabric-dev.fb.js
in Libraries/Renderer/implementations
17096 888
ReactFabric-dev.js
in Libraries/Renderer/implementations
16418 869
ReactNativeRenderer-profiling.fb.js
in Libraries/Renderer/implementations
8576 416
ReactFabric-profiling.fb.js
in Libraries/Renderer/implementations
8495 409
ReactNativeRenderer-prod.fb.js
in Libraries/Renderer/implementations
8140 404
ReactNativeRenderer-profiling.js
in Libraries/Renderer/implementations
8508 404
ReactFabric-prod.fb.js
in Libraries/Renderer/implementations
8052 397
ReactNativeRenderer-prod.js
in Libraries/Renderer/implementations
8069 392
ReactFabric-profiling.js
in Libraries/Renderer/implementations
8310 391
ReactFabric-prod.js
in Libraries/Renderer/implementations
7870 379
Base-inl.h
in Folly/folly/gen
1715 177
Yoga.cpp
in ReactCommon/yoga/yoga
3626 168
FixedString.h
in Folly/folly
1652 134
jni.h
in ReactAndroid/src/main/jni/first-party/jni-hack/real
1157 129
ReactShadowNodeImpl.java
in ReactAndroid/src/main/java/com/facebook/react/uimanager
772 118
decorator.h
in ReactCommon/jsi/jsi
602 117
FBString.h
in Folly/folly
2209 115
FBVector.h
in Folly/folly
1239 112
Files With Long Lines (Top 20)

There are 212 files with lines longer than 120 characters. In total, there are 1118 long lines.

File# lines# units# long lines
in
Makefile.in
in glog
1912 - 129
cmake
FollyCompilerMSVC.cmake
in Folly/CMake
269 - 44
ReactNativeRenderer-dev.fb.js
in Libraries/Renderer/implementations
17424 917 36
ReactNativeRenderer-dev.js
in Libraries/Renderer/implementations
16949 899 36
RCTSRWebSocket.m
in Libraries/WebSocket
1206 3 36
ReactFabric-dev.fb.js
in Libraries/Renderer/implementations
17096 888 35
RCTRedBox.mm
in React/CoreModules
945 1 31
ReactFabric-dev.js
in Libraries/Renderer/implementations
16418 869 29
RCTImageLoader.mm
in Libraries/Image
1079 5 28
ReactFabric-prod.js
in Libraries/Renderer/implementations
7870 379 24
ReactFabric-profiling.js
in Libraries/Renderer/implementations
8310 391 24
ReactNativeRenderer-prod.js
in Libraries/Renderer/implementations
8069 392 24
ReactNativeRenderer-profiling.js
in Libraries/Renderer/implementations
8508 404 24
ReactFabric-prod.fb.js
in Libraries/Renderer/implementations
8052 397 23
ReactFabric-profiling.fb.js
in Libraries/Renderer/implementations
8495 409 23
ReactNativeRenderer-prod.fb.js
in Libraries/Renderer/implementations
8140 404 23
ReactNativeRenderer-profiling.fb.js
in Libraries/Renderer/implementations
8576 416 23
JSObjectRef.h
in jsc/jsc-headers
112 - 19
RCTBaseTextInputView.m
in Libraries/Text/TextInput
603 1 15
Microsoft.ReactNative.h
in ReactTurboModuleCxx/WinRT
281 53 13