microsoft / monaco-editor
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 308 files with 42,212 lines of code.
    • 4 very long files (8,118 lines of code)
    • 12 long files (8,641 lines of code)
    • 53 medium size files (15,935 lines of codeclsfd_ftr_w_mp_ins)
    • 36 small files (5,402 lines of code)
    • 203 very small files (4,116 lines of code)
19% | 20% | 37% | 12% | 9%
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
html90% | 0% | 4% | 0% | 4%
ts11% | 25% | 41% | 12% | 8%
js0% | 12% | 37% | 29% | 20%
css0% | 0% | 80% | 0% | 19%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
website88% | 0% | 9% | 0% | 1%
src/basic-languages9% | 28% | 41% | 11% | 8%
src/typescript49% | 0% | 40% | 0% | 10%
src/common0% | 100% | 0% | 0% | 0%
build0% | 0% | 65% | 29% | 5%
website/playground0% | 0% | 32% | 27% | 40%
src/css0% | 0% | 69% | 18% | 12%
website/monarch0% | 0% | 65% | 34% | 0%
webpack-plugin/src0% | 0% | 71% | 0% | 28%
src/json0% | 0% | 30% | 59% | 9%
src/html0% | 0% | 36% | 50% | 12%
website/index0% | 0% | 58% | 41% | 0%
ROOT0% | 0% | 0% | 0% | 100%
build/npm0% | 0% | 0% | 0% | 100%
webpack-plugin/smoketest0% | 0% | 0% | 0% | 100%
build/fillers0% | 0% | 0% | 0% | 100%
src/fillers0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
monarch.html
in website
4407 -
solidity.ts
in src/basic-languages/solidity
1343 -
abap.ts
in src/basic-languages/abap
1306 -
languageFeatures.ts
in src/typescript
1062 44
powerquery.ts
in src/basic-languages/powerquery
882 -
mysql.ts
in src/basic-languages/mysql
871 -
lspLanguageFeatures.ts
in src/common
851 47
pgsql.ts
in src/basic-languages/pgsql
840 -
sql.ts
in src/basic-languages/sql
812 -
redshift.ts
in src/basic-languages/redshift
803 -
clojure.ts
in src/basic-languages/clojure
752 -
keywords.js
in src/basic-languages/sql
599 4
perl.ts
in src/basic-languages/perl
591 -
postiats.ts
in src/basic-languages/postiats
585 -
systemverilog.ts
in src/basic-languages/systemverilog
552 -
razor.ts
in src/basic-languages/razor
503 -
julia.ts
in src/basic-languages/julia
488 -
sample.js
in website/playground/new-samples/extending-language-services/symbols-provider-example
478 1
ruby.ts
in src/basic-languages/ruby
475 -
php.ts
in src/basic-languages/php
464 -
elixir.ts
in src/basic-languages/elixir
460 -
monaco.contribution.ts
in src/typescript
452 8
ecl.ts
in src/basic-languages/ecl
446 -
tsWorker.ts
in src/typescript
417 28
protobuf.ts
in src/basic-languages/protobuf
416 -
st.ts
in src/basic-languages/st
406 -
pug.ts
in src/basic-languages/pug
385 -
cpp.ts
in src/basic-languages/cpp
379 -
handlebars.ts
in src/basic-languages/handlebars
379 -
msdax.ts
in src/basic-languages/msdax
369 -
vb.ts
in src/basic-languages/vb
356 -
scala.ts
in src/basic-languages/scala
346 -
rust.ts
in src/basic-languages/rust
329 -
typescript.ts
in src/basic-languages/typescript
316 -
twig.ts
in src/basic-languages/twig
315 -
csharp.ts
in src/basic-languages/csharp
313 -
apex.ts
in src/basic-languages/apex
312 -
release.js
in build
308 11
playground.js
in website/playground
307 19
swift.ts
in src/basic-languages/swift
305 -
redis.ts
in src/basic-languages/redis
290 -
qsharp.ts
in src/basic-languages/qsharp
273 -
dart.ts
in src/basic-languages/dart
267 -
html.ts
in src/basic-languages/html
258 -
monarch.css
in website/monarch
248 -
all.css
in website
245 -
python.ts
in src/basic-languages/python
242 -
index.ts
in webpack-plugin/src
238 12
kotlin.ts
in src/basic-languages/kotlin
237 -
pascal.ts
in src/basic-languages/pascal
237 -
Files With Most Units (Top 20)
File# lines# units
lspLanguageFeatures.ts
in src/common
851 47
languageFeatures.ts
in src/typescript
1062 44
tsWorker.ts
in src/typescript
417 28
jsonWorker.ts
in src/json
197 19
playground.js
in website/playground
307 19
index.js
in website/index
149 17
cssWorker.ts
in src/css
209 16
monarch.js
in website/monarch
128 16
htmlWorker.ts
in src/html
152 12
index.ts
in webpack-plugin/src
238 12
release.js
in build
308 11
utils.js
in build
221 9
monaco.contribution.ts
in src/html
217 9
tokenization.ts
in src/json
234 9
monaco.contribution.ts
in src/typescript
452 8
releaseMetadata.js
in build
232 7
website.js
in build
127 7
monaco.contribution.ts
in src/css
220 7
sample.js
in website/playground/new-samples/interacting-with-the-editor/listening-to-mouse-events
107 7
_.contribution.ts
in src/basic-languages
62 6
Files With Long Lines (Top 20)

There are 30 files with lines longer than 120 characters. In total, there are 107 long lines.

File# lines# units# long lines
sample.js
in website/playground/new-samples/extending-language-services/custom-languages
108 2 47
monarch.html
in website
4407 - 25
clojure.ts
in src/basic-languages/clojure
752 - 3
less.ts
in src/basic-languages/less
161 - 3
importTypescript.js
in build
213 5 2
ruby.ts
in src/basic-languages/ruby
475 - 2
systemverilog.ts
in src/basic-languages/systemverilog
552 - 2
css.ts
in src/basic-languages/css
173 - 1
dockerfile.ts
in src/basic-languages/dockerfile
124 - 1
elixir.ts
in src/basic-languages/elixir
460 - 1
hcl.ts
in src/basic-languages/hcl
170 - 1
mysql.ts
in src/basic-languages/mysql
871 - 1
pgsql.ts
in src/basic-languages/pgsql
840 - 1
postiats.ts
in src/basic-languages/postiats
585 - 1
powershell.ts
in src/basic-languages/powershell
226 - 1
protobuf.ts
in src/basic-languages/protobuf
416 - 1
redshift.ts
in src/basic-languages/redshift
803 - 1
scss.ts
in src/basic-languages/scss
235 - 1
sql.ts
in src/basic-languages/sql
812 - 1
swift.ts
in src/basic-languages/swift
305 - 1