microsoft / TypeScript
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 490 files with 240,473 lines of code.
    • 50 very long files (147,537 lines of code)
    • 55 long files (39,560 lines of code)
    • 106 medium size files (33,950 lines of codeclsfd_ftr_w_mp_ins)
    • 66 small files (9,393 lines of code)
    • 213 very small files (10,033 lines of code)
61% | 16% | 14% | 3% | 4%
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
ts61% | 16% | 14% | 3% | 3%
js0% | 27% | 29% | 8% | 34%
ps10% | 0% | 0% | 0% | 100%
mjs0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src62% | 16% | 13% | 3% | 3%
ROOT0% | 100% | 0% | 0% | 0%
scripts0% | 0% | 25% | 26% | 47%
lib0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
checker.ts
in src/compiler
35866 2160
parser.ts
in src/compiler
7108 518
types.ts
in src/compiler
6196 1
utilities.ts
in src/compiler
6035 660
nodeFactory.ts
in src/compiler/factory
5397 477
emitter.ts
in src/compiler
4796 411
fourslashImpl.ts
in src/harness
3844 301
projectReferencesSourcemap.ts
in src/testRunner/unittests/tsserver
3769 121
program.ts
in src/compiler
3356 188
completions.ts
in src/services
3183 161
editorServices.ts
in src/server
3091 169
commandLineParser.ts
in src/compiler
3054 133
es2015.ts
in src/compiler/transformers
2852 155
session.ts
in src/server
2838 228
binder.ts
in src/compiler
2802 183
utilities.ts
in src/services
2525 281
services.ts
in src/services
2203 204
ts.ts
in src/compiler/transformers
2067 149
projectReferenceCompileOnSave.ts
in src/testRunner/unittests/tsserver
1993 10
generators.ts
in src/compiler/transformers
1982 131
project.ts
in src/server
1907 151
moduleNameResolver.ts
in src/compiler
1874 132
tsbuildPublic.ts
in src/compiler
1792 86
programUpdates.ts
in src/testRunner/unittests/tscWatch
1786 9
findAllReferences.ts
in src/services
1751 107
classFields.ts
in src/compiler/transformers
1710 75
core.ts
in src/compiler
1709 185
convertToAsyncFunction.ts
in src/testRunner/unittests/services
1629 69
sys.ts
in src/compiler
1614 107
1545 219
extractSymbol.ts
in src/services/refactors
1544 65
protocol.ts
in src/server
1528 -
declarations.ts
in src/compiler/transformers
1526 74
matchFiles.ts
in src/testRunner/unittests/config
1519 4
module.ts
in src/compiler/transformers/module
1432 62
projects.ts
in src/testRunner/unittests/tsserver
1390 6
moduleResolution.ts
in src/testRunner/unittests
1373 37
utilitiesPublic.ts
in src/compiler
1362 209
projectReferences.ts
in src/testRunner/unittests/tsserver
1312 36
configuredProjects.ts
in src/testRunner/unittests/tsserver
1256 8
textChanges.ts
in src/services
1224 134
system.ts
in src/compiler/transformers/module
1184 72
vfsUtil.ts
in src/harness
1184 85
harnessIO.ts
in src/harness
1179 65
importFixes.ts
in src/services/codefixes
1085 69
1068 93
reuseProgramStructure.ts
in src/testRunner/unittests
1058 28
organizeImports.ts
in src/testRunner/unittests/services
1021 11
visitorPublic.ts
in src/compiler
1011 13
es2018.ts
in src/compiler/transformers
1007 55
Files With Most Units (Top 50)
File# lines# units
checker.ts
in src/compiler
35866 2160
utilities.ts
in src/compiler
6035 660
parser.ts
in src/compiler
7108 518
nodeFactory.ts
in src/compiler/factory
5397 477
emitter.ts
in src/compiler
4796 411
fourslashImpl.ts
in src/harness
3844 301
utilities.ts
in src/services
2525 281
session.ts
in src/server
2838 228
1545 219
nodeTests.ts
in src/compiler/factory
653 217
utilitiesPublic.ts
in src/compiler
1362 209
services.ts
in src/services
2203 204
program.ts
in src/compiler
3356 188
core.ts
in src/compiler
1709 185
binder.ts
in src/compiler
2802 183
editorServices.ts
in src/server
3091 169
completions.ts
in src/services
3183 161
es2015.ts
in src/compiler/transformers
2852 155
project.ts
in src/server
1907 151
ts.ts
in src/compiler/transformers
2067 149
textChanges.ts
in src/services
1224 134
commandLineParser.ts
in src/compiler
3054 133
moduleNameResolver.ts
in src/compiler
1874 132
generators.ts
in src/compiler/transformers
1982 131
projectReferencesSourcemap.ts
in src/testRunner/unittests/tsserver
3769 121
shims.ts
in src/services
959 116
sys.ts
in src/compiler
1614 107
findAllReferences.ts
in src/services
1751 107
1068 93
utilities.ts
in src/compiler/factory
875 86
tsbuildPublic.ts
in src/compiler
1792 86
helpers.ts
in src/testRunner/unittests/tsserver
729 86
vfsUtil.ts
in src/harness
1184 85
classFields.ts
in src/compiler/transformers
1710 75
declarations.ts
in src/compiler/transformers
1526 74
system.ts
in src/compiler/transformers/module
1184 72
fakesHosts.ts
in src/harness
472 72
importFixes.ts
in src/services/codefixes
1085 69
convertToAsyncFunction.ts
in src/testRunner/unittests/services
1629 69
debug.ts
in src/compiler
610 68
rules.ts
in src/services/formatting
643 68
harnessIO.ts
in src/harness
1179 65
extractSymbol.ts
in src/services/refactors
1544 65
navigationBar.ts
in src/services
796 63
module.ts
in src/compiler/transformers/module
1432 62
851 60
executeCommandLine.ts
in src/executeCommandLine
932 58
inferFromUsage.ts
in src/services/codefixes
966 58
functions.ts
in src/testRunner/unittests/services/extract
503 56
es2018.ts
in src/compiler/transformers
1007 55
Files With Long Lines (Top 50)

There are 390 files with lines longer than 120 characters. In total, there are 14609 long lines.

File# lines# units# long lines
checker.ts
in src/compiler
35866 2160 3669
types.ts
in src/compiler
6196 1 363
fourslashImpl.ts
in src/harness
3844 301 362
nodeFactory.ts
in src/compiler/factory
5397 477 346
program.ts
in src/compiler
3356 188 337
parser.ts
in src/compiler
7108 518 331
utilities.ts
in src/compiler
6035 660 313
moduleNameResolver.ts
in src/compiler
1874 132 213
completions.ts
in src/services
3183 161 213
session.ts
in src/server
2838 228 184
es2015.ts
in src/compiler/transformers
2852 155 181
commandLineParser.ts
in src/compiler
3054 133 177
emitter.ts
in src/compiler
4796 411 177
findAllReferences.ts
in src/services
1751 107 174
binder.ts
in src/compiler
2802 183 168
editorServices.ts
in src/server
3091 169 156
rules.ts
in src/services/formatting
643 68 155
utilities.ts
in src/services
2525 281 150
services.ts
in src/services
2203 204 149
textChanges.ts
in src/services
1224 134 136
importFixes.ts
in src/services/codefixes
1085 69 135
declarations.ts
in src/compiler/transformers
1526 74 117
tsbuildPublic.ts
in src/compiler
1792 86 106
projectReferenceCompileOnSave.ts
in src/testRunner/unittests/tsserver
1993 10 92
builder.ts
in src/compiler
962 52 91
core.ts
in src/compiler
1709 185 85
deprecations.ts
in src/deprecatedCompat
620 - 84
extractSymbol.ts
in src/services/refactors
1544 65 84
project.ts
in src/server
1907 151 82
stringCompletions.ts
in src/services
603 47 82
reuseProgramStructure.ts
in src/testRunner/unittests
1058 28 82
classFields.ts
in src/compiler/transformers
1710 75 78
compileOnSave.ts
in src/testRunner/unittests/tsserver
955 18 78
projectReferencesSourcemap.ts
in src/testRunner/unittests/tsserver
3769 121 78
resolutionCache.ts
in src/compiler
779 47 77
diagnostics.ts
in src/compiler/transformers/declarations
432 18 77
fixAddMissingMember.ts
in src/services/codefixes
515 22 77
inferFromUsage.ts
in src/services/codefixes
966 58 77
moduleSpecifiers.ts
in src/compiler
688 41 76
moveToNewFile.ts
in src/services/refactors
743 52 74
resolutionCache.ts
in src/testRunner/unittests/tsserver
798 17 74
utilities.ts
in src/compiler/factory
875 86 72
signatureHelp.ts
in src/services
488 38 71
module.ts
in src/compiler/transformers/module
1432 62 70
harnessIO.ts
in src/harness
1179 65 70
textChanges.ts
in src/testRunner/unittests/services
746 24 67
ts.ts
in src/compiler/transformers
2067 149 66
convertToAsyncFunction.ts
in src/services/codefixes
615 49 66
moduleResolution.ts
in src/testRunner/unittests
1373 37 64
sys.ts
in src/compiler
1614 107 60