hhvm / hhast
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 766 files with 56,967 lines of code.
    • 1 very long files (4,126 lines of code)
    • 10 long files (5,828 lines of code)
    • 70 medium size files (19,808 lines of codeclsfd_ftr_w_mp_ins)
    • 118 small files (16,756 lines of code)
    • 567 very small files (10,449 lines of code)
7% | 10% | 34% | 29% | 18%
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
hack7% | 10% | 34% | 29% | 18%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
codegen86% | 0% | 9% | 2% | <1%
codegen/syntax0% | 13% | 45% | 38% | 2%
src/__Private/codegen0% | 37% | 18% | 31% | 12%
src/Migrations0% | 20% | 33% | 5% | 40%
src/Linters0% | 0% | 24% | 24% | 51%
src/__Private0% | 0% | 32% | 33% | 34%
src/nodes0% | 0% | 38% | 31% | 30%
src/__Private/LSPLib0% | 0% | 0% | 43% | 56%
src/__Private/LSPImpl0% | 0% | 0% | 19% | 80%
src0% | 0% | 0% | 17% | 82%
codegen/tokens0% | 0% | 0% | 0% | 100%
src/__Private/LSP0% | 0% | 0% | 0% | 100%
src/__Private/Resolution0% | 0% | 0% | 0% | 100%
src/__Private/Wrap0% | 0% | 0% | 0% | 100%
src/__Private/nodes0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
4126 -
ClassishDeclaration.hack
in codegen/syntax
654 64
CodegenSyntax.hack
in src/__Private/codegen
639 15
AnonymousFunction.hack
in codegen/syntax
636 64
635 64
EnumClassDeclaration.hack
in codegen/syntax
635 64
ClosureTypeSpecifier.hack
in codegen/syntax
580 59
TypeConstDeclaration.hack
in codegen/syntax
519 54
EnumDeclaration.hack
in codegen/syntax
512 54
ForeachStatement.hack
in codegen/syntax
512 54
HSLMigration.hack
in src/Migrations
506 9
AnonymousClass.hack
in codegen/syntax
471 49
463 49
ForStatement.hack
in codegen/syntax
463 49
461 2
MigrationCLI.hack
in src/__Private
450 10
438 18
AliasDeclaration.hack
in codegen/syntax
407 44
405 44
386 11
ParameterDeclaration.hack
in codegen/syntax
364 39
IfStatement.hack
in codegen/syntax
355 39
355 39
DarrayTypeSpecifier.hack
in codegen/syntax
353 39
DoStatement.hack
in codegen/syntax
353 39
SwitchStatement.hack
in codegen/syntax
353 39
LambdaSignature.hack
in codegen/syntax
352 39
CodegenBase.hack
in src/__Private/codegen
317 14
Node.hack
in src/nodes
314 35
312 34
ConstDeclaration.hack
in codegen/syntax
309 34
306 34
TypeParameter.hack
in codegen/syntax
305 34
CatchClause.hack
in codegen/syntax
302 34
LintRunConfig.hack
in src/__Private
288 13
270 14
265 29
265 29
264 29
264 29
263 11
ModuleDeclaration.hack
in codegen/syntax
262 29
262 29
262 29
262 29
262 29
PropertyDeclaration.hack
in codegen/syntax
260 29
EnumClassEnumerator.hack
in codegen/syntax
260 29
260 29
LambdaExpression.hack
in codegen/syntax
259 29
Files With Most Units (Top 50)
File# lines# units
635 64
ClassishDeclaration.hack
in codegen/syntax
654 64
AnonymousFunction.hack
in codegen/syntax
636 64
EnumClassDeclaration.hack
in codegen/syntax
635 64
ClosureTypeSpecifier.hack
in codegen/syntax
580 59
EnumDeclaration.hack
in codegen/syntax
512 54
ForeachStatement.hack
in codegen/syntax
512 54
TypeConstDeclaration.hack
in codegen/syntax
519 54
AnonymousClass.hack
in codegen/syntax
471 49
463 49
ForStatement.hack
in codegen/syntax
463 49
405 44
AliasDeclaration.hack
in codegen/syntax
407 44
LambdaSignature.hack
in codegen/syntax
352 39
ParameterDeclaration.hack
in codegen/syntax
364 39
DarrayTypeSpecifier.hack
in codegen/syntax
353 39
IfStatement.hack
in codegen/syntax
355 39
DoStatement.hack
in codegen/syntax
353 39
SwitchStatement.hack
in codegen/syntax
353 39
355 39
Node.hack
in src/nodes
314 35
ConstDeclaration.hack
in codegen/syntax
309 34
CatchClause.hack
in codegen/syntax
302 34
TypeParameter.hack
in codegen/syntax
305 34
306 34
312 34
VectorTypeSpecifier.hack
in codegen/syntax
257 29
ModuleDeclaration.hack
in codegen/syntax
262 29
XHPEnumType.hack
in codegen/syntax
256 29
265 29
262 29
PropertyDeclaration.hack
in codegen/syntax
260 29
KeysetTypeSpecifier.hack
in codegen/syntax
257 29
EnumClassEnumerator.hack
in codegen/syntax
260 29
ShapeTypeSpecifier.hack
in codegen/syntax
255 29
WhileStatement.hack
in codegen/syntax
257 29
LambdaExpression.hack
in codegen/syntax
259 29
262 29
264 29
UnsetStatement.hack
in codegen/syntax
255 29
262 29
262 29
VarrayTypeSpecifier.hack
in codegen/syntax
257 29
257 29
265 29
260 29
264 29
ElseifClause.hack
in codegen/syntax
255 29
TraitUseAliasItem.hack
in codegen/syntax
214 24
202 24
Files With Long Lines (Top 1)

There is only one file with lines longer than 120 characters. In total, there are 91 long lines.

File# lines# units# long lines
4126 - 91
Correlations

File Size vs. Commits (all time): 767 points

src/Linters/UnreachableCodeLinter.hack x: 1 commits (all time) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 19 commits (all time) y: 196 lines of code codegen/inferred_relationships.hack x: 49 commits (all time) y: 4126 lines of code codegen/node_from_json.hack x: 32 commits (all time) y: 218 lines of code codegen/syntax/LambdaExpression.hack x: 30 commits (all time) y: 259 lines of code codegen/syntax/ModuleDeclaration.hack x: 1 commits (all time) y: 262 lines of code codegen/token_from_data.hack x: 22 commits (all time) y: 241 lines of code codegen/tokens/ModuleToken.hack x: 1 commits (all time) y: 12 lines of code codegen/version.hack x: 57 commits (all time) y: 4 lines of code src/__Private/is_compatible_schema_version.hack x: 50 commits (all time) y: 28 lines of code codegen/syntax/AnonymousFunction.hack x: 35 commits (all time) y: 636 lines of code codegen/syntax/CastExpression.hack x: 32 commits (all time) y: 198 lines of code codegen/syntax/CollectionLiteralExpression.hack x: 35 commits (all time) y: 211 lines of code codegen/syntax/ConditionalExpression.hack x: 32 commits (all time) y: 257 lines of code codegen/syntax/ConstDeclaration.hack x: 26 commits (all time) y: 309 lines of code codegen/syntax/ConstructorCall.hack x: 33 commits (all time) y: 214 lines of code codegen/syntax/EnumClassDeclaration.hack x: 12 commits (all time) y: 635 lines of code codegen/syntax/EnumClassEnumerator.hack x: 13 commits (all time) y: 260 lines of code codegen/syntax/FunctionDeclarationHeader.hack x: 38 commits (all time) y: 635 lines of code codegen/syntax/IssetExpression.hack x: 26 commits (all time) y: 212 lines of code codegen/syntax/MemberSelectionExpression.hack x: 29 commits (all time) y: 158 lines of code codegen/syntax/NullableAsExpression.hack x: 25 commits (all time) y: 157 lines of code codegen/syntax/PrefixUnaryExpression.hack x: 36 commits (all time) y: 116 lines of code codegen/syntax/SubscriptExpression.hack x: 30 commits (all time) y: 209 lines of code codegen/syntax/VectorIntrinsicExpression.hack x: 35 commits (all time) y: 262 lines of code codegen/syntax/XHPEnumType.hack x: 26 commits (all time) y: 256 lines of code codegen/syntax/YieldExpression.hack x: 31 commits (all time) y: 114 lines of code src/Linters/GroupUseStatementsLinter.hack x: 16 commits (all time) y: 461 lines of code src/__Private/LSPImpl/ExecuteCommandCommand.hack x: 4 commits (all time) y: 43 lines of code src/__Private/LintRunConfig.hack x: 45 commits (all time) y: 288 lines of code src/Linters/HHClientLinter.hack x: 13 commits (all time) y: 109 lines of code src/Migrations/NodeTypeMigrationStep.hack x: 2 commits (all time) y: 21 lines of code src/Migrations/TypedMigrationStep.hack x: 7 commits (all time) y: 24 lines of code src/nodes/ListItem.hack x: 10 commits (all time) y: 127 lines of code src/nodes/NodeList.hack x: 22 commits (all time) y: 211 lines of code src/nodes/TokenWithFixedText.hack x: 6 commits (all time) y: 48 lines of code src/nodes/TokenWithVariableText.hack x: 4 commits (all time) y: 55 lines of code src/nodes/Node.hack x: 19 commits (all time) y: 314 lines of code src/nodes/Trivia.hack x: 6 commits (all time) y: 51 lines of code src/nodes/WrapperNode.hack x: 8 commits (all time) y: 31 lines of code codegen/syntax/AliasDeclaration.hack x: 26 commits (all time) y: 407 lines of code codegen/syntax/AnonymousClass.hack x: 19 commits (all time) y: 471 lines of code codegen/syntax/AnonymousFunctionUseClause.hack x: 20 commits (all time) y: 214 lines of code codegen/syntax/Attribute.hack x: 7 commits (all time) y: 115 lines of code codegen/syntax/AttributeSpecification.hack x: 20 commits (all time) y: 80 lines of code codegen/syntax/AttributizedSpecifier.hack x: 12 commits (all time) y: 120 lines of code codegen/syntax/AwaitableCreationExpression.hack x: 26 commits (all time) y: 163 lines of code codegen/syntax/BinaryExpression.hack x: 38 commits (all time) y: 157 lines of code codegen/syntax/BracedExpression.hack x: 27 commits (all time) y: 155 lines of code codegen/syntax/BreakStatement.hack x: 24 commits (all time) y: 114 lines of code codegen/syntax/CatchClause.hack x: 18 commits (all time) y: 302 lines of code codegen/syntax/ClassishDeclaration.hack x: 28 commits (all time) y: 654 lines of code codegen/syntax/ClassnameTypeSpecifier.hack x: 22 commits (all time) y: 260 lines of code codegen/syntax/ClosureParameterTypeSpecifier.hack x: 26 commits (all time) y: 160 lines of code codegen/syntax/ClosureTypeSpecifier.hack x: 36 commits (all time) y: 580 lines of code codegen/syntax/ConcurrentStatement.hack x: 22 commits (all time) y: 115 lines of code codegen/syntax/ConstantDeclarator.hack x: 19 commits (all time) y: 116 lines of code codegen/syntax/ContextAliasDeclaration.hack x: 5 commits (all time) y: 405 lines of code codegen/syntax/ContextConstDeclaration.hack x: 10 commits (all time) y: 463 lines of code codegen/syntax/ContextConstraint.hack x: 5 commits (all time) y: 114 lines of code codegen/syntax/Contexts.hack x: 10 commits (all time) y: 156 lines of code codegen/syntax/DarrayIntrinsicExpression.hack x: 25 commits (all time) y: 264 lines of code codegen/syntax/DarrayTypeSpecifier.hack x: 28 commits (all time) y: 353 lines of code codegen/syntax/DecoratedExpression.hack x: 28 commits (all time) y: 118 lines of code codegen/syntax/DictionaryTypeSpecifier.hack x: 26 commits (all time) y: 202 lines of code codegen/syntax/DoStatement.hack x: 25 commits (all time) y: 353 lines of code codegen/syntax/ETSpliceExpression.hack x: 4 commits (all time) y: 219 lines of code codegen/syntax/EchoStatement.hack x: 24 commits (all time) y: 157 lines of code codegen/syntax/ElseifClause.hack x: 22 commits (all time) y: 255 lines of code codegen/syntax/EmbeddedBracedExpression.hack x: 21 commits (all time) y: 169 lines of code codegen/syntax/EmbeddedMemberSelectionExpression.hack x: 22 commits (all time) y: 155 lines of code codegen/syntax/EmbeddedSubscriptExpression.hack x: 22 commits (all time) y: 213 lines of code codegen/syntax/EndOfFile.hack x: 17 commits (all time) y: 78 lines of code codegen/syntax/EnumClassLabelExpression.hack x: 3 commits (all time) y: 158 lines of code codegen/syntax/EnumDeclaration.hack x: 26 commits (all time) y: 512 lines of code codegen/syntax/EnumUse.hack x: 5 commits (all time) y: 157 lines of code codegen/syntax/Enumerator.hack x: 22 commits (all time) y: 190 lines of code codegen/syntax/EvalExpression.hack x: 24 commits (all time) y: 206 lines of code codegen/syntax/ExpressionStatement.hack x: 33 commits (all time) y: 119 lines of code codegen/syntax/FieldSpecifier.hack x: 32 commits (all time) y: 190 lines of code codegen/syntax/FileAttributeSpecification.hack x: 18 commits (all time) y: 265 lines of code codegen/syntax/FinallyClause.hack x: 17 commits (all time) y: 114 lines of code codegen/syntax/ForStatement.hack x: 28 commits (all time) y: 463 lines of code codegen/syntax/ForeachStatement.hack x: 31 commits (all time) y: 512 lines of code codegen/syntax/FunctionCallExpression.hack x: 37 commits (all time) y: 312 lines of code codegen/syntax/FunctionCtxTypeSpecifier.hack x: 9 commits (all time) y: 114 lines of code codegen/syntax/FunctionDeclaration.hack x: 23 commits (all time) y: 165 lines of code codegen/syntax/FunctionPointerExpression.hack x: 8 commits (all time) y: 116 lines of code codegen/syntax/GenericTypeSpecifier.hack x: 21 commits (all time) y: 119 lines of code codegen/syntax/InclusionExpression.hack x: 27 commits (all time) y: 116 lines of code codegen/syntax/IntersectionTypeSpecifier.hack x: 9 commits (all time) y: 155 lines of code codegen/syntax/IsExpression.hack x: 34 commits (all time) y: 155 lines of code codegen/syntax/KeysetIntrinsicExpression.hack x: 28 commits (all time) y: 262 lines of code codegen/syntax/LambdaSignature.hack x: 31 commits (all time) y: 352 lines of code codegen/syntax/LiteralExpression.hack x: 21 commits (all time) y: 79 lines of code codegen/syntax/MethodishDeclaration.hack x: 23 commits (all time) y: 225 lines of code codegen/syntax/NamespaceDeclaration.hack x: 23 commits (all time) y: 118 lines of code codegen/syntax/NamespaceDeclarationHeader.hack x: 5 commits (all time) y: 113 lines of code codegen/syntax/NamespaceEmptyBody.hack x: 18 commits (all time) y: 78 lines of code codegen/syntax/NamespaceGroupUseDeclaration.hack x: 21 commits (all time) y: 355 lines of code codegen/syntax/NamespaceUseClause.hack x: 21 commits (all time) y: 190 lines of code codegen/syntax/NullableTypeSpecifier.hack x: 26 commits (all time) y: 114 lines of code codegen/syntax/ObjectCreationExpression.hack x: 20 commits (all time) y: 116 lines of code codegen/syntax/OldAttributeSpecification.hack x: 7 commits (all time) y: 166 lines of code codegen/syntax/ParameterDeclaration.hack x: 33 commits (all time) y: 364 lines of code codegen/syntax/PipeVariableExpression.hack x: 21 commits (all time) y: 82 lines of code codegen/syntax/PropertyDeclaration.hack x: 26 commits (all time) y: 260 lines of code codegen/syntax/RequireClause.hack x: 20 commits (all time) y: 191 lines of code codegen/syntax/ReturnStatement.hack x: 33 commits (all time) y: 156 lines of code codegen/syntax/ScopeResolutionExpression.hack x: 23 commits (all time) y: 157 lines of code codegen/syntax/ShapeExpression.hack x: 23 commits (all time) y: 205 lines of code codegen/syntax/ShapeTypeSpecifier.hack x: 25 commits (all time) y: 255 lines of code codegen/syntax/SimpleTypeSpecifier.hack x: 26 commits (all time) y: 80 lines of code codegen/syntax/SoftTypeSpecifier.hack x: 23 commits (all time) y: 112 lines of code codegen/syntax/SwitchStatement.hack x: 27 commits (all time) y: 353 lines of code codegen/syntax/TraitUse.hack x: 19 commits (all time) y: 157 lines of code codegen/syntax/TraitUseAliasItem.hack x: 24 commits (all time) y: 214 lines of code codegen/syntax/TraitUsePrecedenceItem.hack x: 20 commits (all time) y: 158 lines of code codegen/syntax/TryStatement.hack x: 21 commits (all time) y: 215 lines of code codegen/syntax/TupleExpression.hack x: 33 commits (all time) y: 202 lines of code codegen/syntax/TypeConstDeclaration.hack x: 27 commits (all time) y: 519 lines of code codegen/syntax/TypeConstraint.hack x: 29 commits (all time) y: 114 lines of code codegen/syntax/TypeParameter.hack x: 25 commits (all time) y: 305 lines of code codegen/syntax/TypeParameters.hack x: 18 commits (all time) y: 157 lines of code codegen/syntax/UpcastExpression.hack x: 2 commits (all time) y: 158 lines of code codegen/syntax/UsingStatementBlockScoped.hack x: 23 commits (all time) y: 306 lines of code codegen/syntax/VariableExpression.hack x: 22 commits (all time) y: 81 lines of code codegen/syntax/VarrayIntrinsicExpression.hack x: 30 commits (all time) y: 262 lines of code codegen/syntax/VarrayTypeSpecifier.hack x: 27 commits (all time) y: 257 lines of code codegen/syntax/VectorTypeSpecifier.hack x: 31 commits (all time) y: 257 lines of code codegen/syntax/WhereClause.hack x: 18 commits (all time) y: 119 lines of code codegen/syntax/WhileStatement.hack x: 28 commits (all time) y: 257 lines of code codegen/syntax/XHPCategoryDeclaration.hack x: 21 commits (all time) y: 159 lines of code codegen/syntax/XHPClassAttribute.hack x: 25 commits (all time) y: 195 lines of code codegen/syntax/YieldBreakStatement.hack x: 4 commits (all time) y: 155 lines of code src/__Private/codegen/CodegenSyntax.hack x: 45 commits (all time) y: 639 lines of code src/__Private/LSPLib/ServerState.hack x: 3 commits (all time) y: 36 lines of code src/__Private/LinterCLI.hack x: 15 commits (all time) y: 182 lines of code src/__Private/MigrationCLI.hack x: 50 commits (all time) y: 450 lines of code src/__Private/codegen/CodegenRelations.hack x: 29 commits (all time) y: 166 lines of code src/__Private/execute_async.hack x: 9 commits (all time) y: 34 lines of code src/Migrations/AddXHPChildrenDeclarationMethodMigration.hack x: 9 commits (all time) y: 386 lines of code src/__Private/LintRun.hack x: 13 commits (all time) y: 157 lines of code src/Linters/AutoFixingLinter.hack x: 6 commits (all time) y: 11 lines of code src/Linters/AutoFixingLinterTrait.hack x: 5 commits (all time) y: 29 lines of code src/Linters/DontAwaitInALoopLinter.hack x: 14 commits (all time) y: 78 lines of code src/Linters/HHClientLintRule.hack x: 3 commits (all time) y: 12 lines of code src/Linters/NewlineAtEndOfFileLinter.hack x: 8 commits (all time) y: 53 lines of code src/Linters/PreferLambdasLinter.hack x: 19 commits (all time) y: 76 lines of code src/Linters/StrictModeOnlyLinter.hack x: 12 commits (all time) y: 38 lines of code src/Migrations/AddFixmesMigration.hack x: 9 commits (all time) y: 72 lines of code src/Migrations/HSLMigration.hack x: 23 commits (all time) y: 506 lines of code src/Migrations/IsRefinementMigration.hack x: 14 commits (all time) y: 97 lines of code src/__Private/LSPImpl/CodeActionCommand.hack x: 10 commits (all time) y: 84 lines of code src/__Private/ProcessExecutionQueue.hack x: 1 commits (all time) y: 22 lines of code src/entrypoints.hack x: 16 commits (all time) y: 56 lines of code src/__Private/DumpCLI.hack x: 1 commits (all time) y: 60 lines of code src/File.hack x: 6 commits (all time) y: 112 lines of code src/Linters/HHClientLintError.hack x: 3 commits (all time) y: 49 lines of code src/Linters/LineLinter.hack x: 5 commits (all time) y: 33 lines of code src/Linters/LinterTrait.hack x: 2 commits (all time) y: 48 lines of code src/Linters/SingleRuleLinter.hack x: 8 commits (all time) y: 9 lines of code src/Linters/LintError.hack x: 7 commits (all time) y: 13 lines of code src/__Private/LSPImpl/ServerState.hack x: 4 commits (all time) y: 12 lines of code src/__Private/LintRunEventHandler.hack x: 5 commits (all time) y: 14 lines of code src/__Private/LintRunJSONEventHandler.hack x: 6 commits (all time) y: 79 lines of code src/__Private/LintRunLSPPublishDiagnosticsEventHandler.hack x: 8 commits (all time) y: 79 lines of code src/Linters/ASTLintError.hack x: 7 commits (all time) y: 46 lines of code src/Linters/ASTLinter.hack x: 22 commits (all time) y: 93 lines of code src/Linters/BuiltLintError.hack x: 3 commits (all time) y: 30 lines of code src/Linters/MustUseBracesForControlFlowLinter.hack x: 17 commits (all time) y: 102 lines of code src/Linters/NoFinalMethodInFinalClassLinter.hack x: 5 commits (all time) y: 63 lines of code src/Linters/ShoutCaseEnumMembersLinter.hack x: 3 commits (all time) y: 74 lines of code src/Linters/UseStatementWithLeadingBackslashLinter.hack x: 13 commits (all time) y: 75 lines of code src/Linters/suppress_ast_linter_error.hack x: 12 commits (all time) y: 76 lines of code src/Linters/AsyncFunctionAndMethodLinter.hack x: 4 commits (all time) y: 67 lines of code src/Linters/DataProviderTypesLinter.hack x: 6 commits (all time) y: 263 lines of code src/Linters/DontHaveTwoEmptyLinesInARowLinter.hack x: 2 commits (all time) y: 75 lines of code src/Linters/FinalOrAbstractClassLinter.hack x: 9 commits (all time) y: 28 lines of code src/Linters/GroupUseStatementAlphabetizationLinter.hack x: 5 commits (all time) y: 67 lines of code src/Linters/NamespacePrivateLinter.hack x: 5 commits (all time) y: 142 lines of code src/Linters/NoNewlineAtStartOfControlFlowBlockLinter.hack x: 2 commits (all time) y: 50 lines of code src/Linters/NoPHPEqualityLinter.hack x: 10 commits (all time) y: 52 lines of code src/Linters/UnusedUseClauseLinter.hack x: 18 commits (all time) y: 167 lines of code src/Linters/UnusedVariableLinter.hack x: 10 commits (all time) y: 270 lines of code src/Linters/UseStatementWIthoutKindLinter.hack x: 13 commits (all time) y: 82 lines of code src/__Private/LSPLib/SuccessOrError.hack x: 2 commits (all time) y: 10 lines of code src/__Private/XHProf.hack x: 8 commits (all time) y: 140 lines of code src/__Private/ParserCache.hack x: 7 commits (all time) y: 106 lines of code src/Migrations/OptionalShapeFieldsMigration.hack x: 11 commits (all time) y: 35 lines of code src/find_offset_of_leading.hack x: 6 commits (all time) y: 26 lines of code src/Linters/FunctionNamingLinter.hack x: 15 commits (all time) y: 105 lines of code src/Migrations/HardenVarrayOrDarrayTypehintsMigration.hack x: 3 commits (all time) y: 98 lines of code src/Migrations/ImplicitShapeSubtypesMigration.hack x: 10 commits (all time) y: 79 lines of code src/Migrations/XHPLibV3ToV4Migration.hack x: 5 commits (all time) y: 438 lines of code src/__Private/Resolution/get_uses_directly_in_scope.hack x: 12 commits (all time) y: 89 lines of code src/nodes/Script.hack x: 22 commits (all time) y: 145 lines of code codegen/tokens/VariableToken.hack x: 10 commits (all time) y: 17 lines of code src/Migrations/ExplicitPartialModeMigration.hack x: 12 commits (all time) y: 56 lines of code src/resolve_type.hack x: 11 commits (all time) y: 86 lines of code codegen/tokens/DoubleQuotedStringLiteralToken.hack x: 9 commits (all time) y: 14 lines of code codegen/tokens/NameToken.hack x: 10 commits (all time) y: 14 lines of code src/Migrations/FixmeCodeMigration.hack x: 2 commits (all time) y: 142 lines of code src/__Private/LSPLib/create_textedits.hack x: 2 commits (all time) y: 112 lines of code src/Linters/AutoFixingLineLinter.hack x: 4 commits (all time) y: 19 lines of code src/__Private/LSP/TextDocumentClientCapabilities.hack x: 1 commits (all time) y: 85 lines of code
4126.0
lines of code
  min: 2.0
  average: 74.37
  25th percentile: 10.0
  median: 12.0
  75th percentile: 112.0
  max: 4126.0
0 57.0
commits (all time)
min: 1.0 | average: 8.96 | 25th percentile: 2.0 | median: 6.0 | 75th percentile: 11.0 | max: 57.0

File Size vs. Contributors (all time): 767 points

src/Linters/UnreachableCodeLinter.hack x: 1 contributors (all time) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 4 contributors (all time) y: 196 lines of code codegen/inferred_relationships.hack x: 4 contributors (all time) y: 4126 lines of code codegen/node_from_json.hack x: 4 contributors (all time) y: 218 lines of code codegen/syntax/LambdaExpression.hack x: 5 contributors (all time) y: 259 lines of code codegen/syntax/ModuleDeclaration.hack x: 1 contributors (all time) y: 262 lines of code codegen/token_from_data.hack x: 3 contributors (all time) y: 241 lines of code codegen/tokens/ModuleToken.hack x: 1 contributors (all time) y: 12 lines of code codegen/version.hack x: 4 contributors (all time) y: 4 lines of code src/__Private/is_compatible_schema_version.hack x: 4 contributors (all time) y: 28 lines of code codegen/syntax/AnonymousFunction.hack x: 5 contributors (all time) y: 636 lines of code codegen/syntax/CastExpression.hack x: 5 contributors (all time) y: 198 lines of code codegen/syntax/ConstDeclaration.hack x: 5 contributors (all time) y: 309 lines of code codegen/syntax/ConstructorCall.hack x: 5 contributors (all time) y: 214 lines of code codegen/syntax/EnumClassDeclaration.hack x: 4 contributors (all time) y: 635 lines of code codegen/syntax/EnumClassEnumerator.hack x: 4 contributors (all time) y: 260 lines of code codegen/syntax/MemberSelectionExpression.hack x: 5 contributors (all time) y: 158 lines of code codegen/syntax/PrefixUnaryExpression.hack x: 5 contributors (all time) y: 116 lines of code codegen/syntax/VectorIntrinsicExpression.hack x: 5 contributors (all time) y: 262 lines of code src/Linters/GroupUseStatementsLinter.hack x: 4 contributors (all time) y: 461 lines of code src/__Private/LSPImpl/ExecuteCommandCommand.hack x: 2 contributors (all time) y: 43 lines of code src/__Private/LintRunConfig.hack x: 9 contributors (all time) y: 288 lines of code src/Linters/HHClientLinter.hack x: 2 contributors (all time) y: 109 lines of code src/Migrations/NodeTypeMigrationStep.hack x: 2 contributors (all time) y: 21 lines of code src/Migrations/TypedMigrationStep.hack x: 3 contributors (all time) y: 24 lines of code src/nodes/ListItem.hack x: 3 contributors (all time) y: 127 lines of code src/nodes/TokenWithFixedText.hack x: 4 contributors (all time) y: 48 lines of code src/nodes/TokenWithVariableText.hack x: 2 contributors (all time) y: 55 lines of code src/nodes/Node.hack x: 6 contributors (all time) y: 314 lines of code src/nodes/Trivia.hack x: 3 contributors (all time) y: 51 lines of code codegen/syntax/AliasDeclaration.hack x: 5 contributors (all time) y: 407 lines of code codegen/syntax/AnonymousClass.hack x: 5 contributors (all time) y: 471 lines of code codegen/syntax/Attribute.hack x: 4 contributors (all time) y: 115 lines of code codegen/syntax/AttributeSpecification.hack x: 5 contributors (all time) y: 80 lines of code codegen/syntax/AwaitableCreationExpression.hack x: 5 contributors (all time) y: 163 lines of code codegen/syntax/CatchClause.hack x: 5 contributors (all time) y: 302 lines of code codegen/syntax/ClassishDeclaration.hack x: 5 contributors (all time) y: 654 lines of code codegen/syntax/ClosureTypeSpecifier.hack x: 5 contributors (all time) y: 580 lines of code codegen/syntax/ContextAliasDeclaration.hack x: 4 contributors (all time) y: 405 lines of code codegen/syntax/Contexts.hack x: 4 contributors (all time) y: 156 lines of code codegen/syntax/DarrayTypeSpecifier.hack x: 5 contributors (all time) y: 353 lines of code codegen/syntax/ETSpliceExpression.hack x: 3 contributors (all time) y: 219 lines of code codegen/syntax/EnumClassLabelExpression.hack x: 3 contributors (all time) y: 158 lines of code codegen/syntax/EnumDeclaration.hack x: 5 contributors (all time) y: 512 lines of code codegen/syntax/Enumerator.hack x: 5 contributors (all time) y: 190 lines of code codegen/syntax/NamespaceDeclarationHeader.hack x: 4 contributors (all time) y: 113 lines of code codegen/syntax/OldAttributeSpecification.hack x: 4 contributors (all time) y: 166 lines of code codegen/syntax/ParameterDeclaration.hack x: 5 contributors (all time) y: 364 lines of code codegen/syntax/PipeVariableExpression.hack x: 5 contributors (all time) y: 82 lines of code codegen/syntax/SoftTypeSpecifier.hack x: 5 contributors (all time) y: 112 lines of code codegen/syntax/UpcastExpression.hack x: 2 contributors (all time) y: 158 lines of code src/__Private/codegen/CodegenSyntax.hack x: 7 contributors (all time) y: 639 lines of code src/__Private/LSPLib/ServerState.hack x: 3 contributors (all time) y: 36 lines of code src/__Private/MigrationCLI.hack x: 7 contributors (all time) y: 450 lines of code src/Migrations/AddXHPChildrenDeclarationMethodMigration.hack x: 4 contributors (all time) y: 386 lines of code src/Linters/AutoFixingLinter.hack x: 3 contributors (all time) y: 11 lines of code src/Linters/DontAwaitInALoopLinter.hack x: 4 contributors (all time) y: 78 lines of code src/Linters/HHClientLintRule.hack x: 2 contributors (all time) y: 12 lines of code src/Linters/PreferLambdasLinter.hack x: 6 contributors (all time) y: 76 lines of code src/Migrations/HSLMigration.hack x: 4 contributors (all time) y: 506 lines of code src/Migrations/IsRefinementMigration.hack x: 2 contributors (all time) y: 97 lines of code src/__Private/LSPImpl/CodeActionCommand.hack x: 3 contributors (all time) y: 84 lines of code src/__Private/codegen/CodegenBase.hack x: 3 contributors (all time) y: 317 lines of code src/__Private/ProcessExecutionQueue.hack x: 1 contributors (all time) y: 22 lines of code src/__Private/DumpCLI.hack x: 1 contributors (all time) y: 60 lines of code src/File.hack x: 3 contributors (all time) y: 112 lines of code src/__Private/LintRunJSONEventHandler.hack x: 3 contributors (all time) y: 79 lines of code src/Linters/ASTLinter.hack x: 4 contributors (all time) y: 93 lines of code src/Linters/NoEmptyStatementsLinter.hack x: 6 contributors (all time) y: 98 lines of code src/Linters/AsyncFunctionAndMethodLinter.hack x: 1 contributors (all time) y: 67 lines of code src/Linters/DataProviderTypesLinter.hack x: 2 contributors (all time) y: 263 lines of code src/Linters/DontHaveTwoEmptyLinesInARowLinter.hack x: 2 contributors (all time) y: 75 lines of code src/Linters/NamespacePrivateLinter.hack x: 3 contributors (all time) y: 142 lines of code src/Linters/UnusedUseClauseLinter.hack x: 3 contributors (all time) y: 167 lines of code src/Migrations/XHPLibV3ToV4Migration.hack x: 3 contributors (all time) y: 438 lines of code codegen/Trivia.hack x: 2 contributors (all time) y: 121 lines of code src/Migrations/FixmeCodeMigration.hack x: 2 contributors (all time) y: 142 lines of code src/__Private/LSPLib/create_textedits.hack x: 1 contributors (all time) y: 112 lines of code src/__Private/LSP/TextDocumentClientCapabilities.hack x: 1 contributors (all time) y: 85 lines of code
4126.0
lines of code
  min: 2.0
  average: 74.37
  25th percentile: 10.0
  median: 12.0
  75th percentile: 112.0
  max: 4126.0
0 9.0
contributors (all time)
min: 1.0 | average: 2.48 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 9.0

File Size vs. Commits (30 days): 2 points

src/Linters/UnreachableCodeLinter.hack x: 1 commits (30d) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 1 commits (30d) y: 196 lines of code
196.0
lines of code
  min: 39.0
  average: 117.5
  25th percentile: 39.0
  median: 117.5
  75th percentile: 196.0
  max: 196.0
0 1.0
commits (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Contributors (30 days): 2 points

src/Linters/UnreachableCodeLinter.hack x: 1 contributors (30d) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 1 contributors (30d) y: 196 lines of code
196.0
lines of code
  min: 39.0
  average: 117.5
  25th percentile: 39.0
  median: 117.5
  75th percentile: 196.0
  max: 196.0
0 1.0
contributors (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Commits (90 days): 30 points

src/Linters/UnreachableCodeLinter.hack x: 1 commits (90d) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 1 commits (90d) y: 196 lines of code codegen/inferred_relationships.hack x: 2 commits (90d) y: 4126 lines of code codegen/node_from_json.hack x: 2 commits (90d) y: 218 lines of code codegen/syntax/LambdaExpression.hack x: 1 commits (90d) y: 259 lines of code codegen/syntax/ModuleDeclaration.hack x: 1 commits (90d) y: 262 lines of code codegen/token_from_data.hack x: 2 commits (90d) y: 241 lines of code codegen/tokens/ModuleToken.hack x: 1 commits (90d) y: 12 lines of code codegen/version.hack x: 2 commits (90d) y: 4 lines of code src/__Private/is_compatible_schema_version.hack x: 3 commits (90d) y: 28 lines of code codegen/syntax/AnonymousFunction.hack x: 1 commits (90d) y: 636 lines of code codegen/syntax/ConstDeclaration.hack x: 1 commits (90d) y: 309 lines of code codegen/syntax/ConstructorCall.hack x: 1 commits (90d) y: 214 lines of code codegen/syntax/MemberSelectionExpression.hack x: 1 commits (90d) y: 158 lines of code codegen/syntax/PrefixUnaryExpression.hack x: 1 commits (90d) y: 116 lines of code src/Linters/GroupUseStatementsLinter.hack x: 1 commits (90d) y: 461 lines of code
4126.0
lines of code
  min: 4.0
  average: 362.9
  25th percentile: 146.75
  median: 213.0
  75th percentile: 262.0
  max: 4126.0
0 3.0
commits (90d)
min: 1.0 | average: 1.2 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 3.0

File Size vs. Contributors (90 days): 30 points

src/Linters/UnreachableCodeLinter.hack x: 1 contributors (90d) y: 39 lines of code src/__Private/LintRunCLIEventHandler.hack x: 1 contributors (90d) y: 196 lines of code codegen/inferred_relationships.hack x: 2 contributors (90d) y: 4126 lines of code codegen/node_from_json.hack x: 2 contributors (90d) y: 218 lines of code codegen/syntax/LambdaExpression.hack x: 1 contributors (90d) y: 259 lines of code codegen/syntax/ModuleDeclaration.hack x: 1 contributors (90d) y: 262 lines of code codegen/token_from_data.hack x: 2 contributors (90d) y: 241 lines of code codegen/tokens/ModuleToken.hack x: 1 contributors (90d) y: 12 lines of code codegen/version.hack x: 2 contributors (90d) y: 4 lines of code src/__Private/is_compatible_schema_version.hack x: 2 contributors (90d) y: 28 lines of code codegen/syntax/AnonymousFunction.hack x: 1 contributors (90d) y: 636 lines of code codegen/syntax/ConstDeclaration.hack x: 1 contributors (90d) y: 309 lines of code codegen/syntax/ConstructorCall.hack x: 1 contributors (90d) y: 214 lines of code codegen/syntax/MemberSelectionExpression.hack x: 1 contributors (90d) y: 158 lines of code codegen/syntax/PrefixUnaryExpression.hack x: 1 contributors (90d) y: 116 lines of code src/Linters/GroupUseStatementsLinter.hack x: 1 contributors (90d) y: 461 lines of code
4126.0
lines of code
  min: 4.0
  average: 362.9
  25th percentile: 146.75
  median: 213.0
  75th percentile: 262.0
  max: 4126.0
0 2.0
contributors (90d)
min: 1.0 | average: 1.17 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 2.0