JetBrains / bun
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
zig
mjs
txt
snap
reg
patch
gitattributes
prettierignore
prisma
plist
proto
gyp
svelte
in
npmignore
ini
mod
editorconfig
npmrc
eslintignore
fish
clang-format
hbs
gitmodules
lds
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main451323 LOC (60%) 1,686 files
test239333 LOC (31%) 2,507 files
generated4925 LOC (<1%) 5 files
build and deployment1200 LOC (<1%) 31 files
other54633 LOC (7%) 579 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
zig
mjs
in
fish
lds
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1686 files match defined criteria (451,323 LOC, 100.0% vs. main code):
    • 307 *.zig files (260,776 LOC)
    • 370 *.cpp files (76,480 LOC)
    • 217 *.ts files (50,562 LOC)
    • 514 *.h files (37,472 LOC)
    • 85 *.js files (9,183 LOC)
    • 119 *.mjs files (7,112 LOC)
    • 13 *.c files (5,768 LOC)
    • 27 *.ps1 files (1,045 LOC)
    • 1 *.zsh files (810 LOC)
    • 1 *.rb files (322 LOC)
    • 1 *.pl files (278 LOC)
    • 3 *.css files (269 LOC)
    • 9 *.tsx files (210 LOC)
    • 1 *.yaml files (197 LOC)
    • 2 *.in files (192 LOC)
    • 1 *.bash files (158 LOC)
    • 1 *.fish files (148 LOC)
    • 4 *.jsx files (120 LOC)
    • 4 *.html files (96 LOC)
    • 1 *.cjs files (54 LOC)
    • 2 *.rs files (35 LOC)
    • 2 *.toml files (23 LOC)
    • 1 *.lds files (13 LOC)
  • " *.zig" is biggest, containing 57.78% of LOC.
  • " *.lds" is smallest, containing 0% of LOC.


*.zig260776 LOC (57%) 307 files
*.cpp76480 LOC (16%) 370 files
*.ts50562 LOC (11%) 217 files
*.h37472 LOC (8%) 514 files
*.js9183 LOC (2%) 85 files
*.mjs7112 LOC (1%) 119 files
*.c5768 LOC (1%) 13 files
*.ps11045 LOC (<1%) 27 files
*.zsh810 LOC (<1%) 1 file
*.rb322 LOC (<1%) 1 file
*.pl278 LOC (<1%) 1 file
*.css269 LOC (<1%) 3 files
*.tsx210 LOC (<1%) 9 files
*.yaml197 LOC (<1%) 1 file
*.in192 LOC (<1%) 2 files
*.bash158 LOC (<1%) 1 file
*.fish148 LOC (<1%) 1 file
*.jsx120 LOC (<1%) 4 files
*.html96 LOC (<1%) 4 files
*.cjs54 LOC (<1%) 1 file
*.rs35 LOC (<1%) 2 files
*.toml23 LOC (<1%) 2 files
*.lds13 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
zig
mjs
snap
gyp
reg
svelte
hbs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[.]snap".
    • files with paths like ".*[-]tests[-].*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*[-]tests/.*".
  • 2507 files match defined criteria (239,333 LOC, 53.0% vs. main code):
    • 574 *.ts files (114,220 LOC)
    • 1,532 *.js files (78,280 LOC)
    • 17 *.jsx files (12,437 LOC)
    • 11 *.zig files (12,253 LOC)
    • 199 *.mjs files (10,468 LOC)
    • 23 *.snap files (7,158 LOC)
    • 11 *.cpp files (1,537 LOC)
    • 30 *.tsx files (1,158 LOC)
    • 8 *.c files (1,150 LOC)
    • 63 *.cjs files (274 LOC)
    • 3 *.html files (128 LOC)
    • 8 *.sh files (104 LOC)
    • 7 *.toml files (40 LOC)
    • 3 *.gyp files (38 LOC)
    • 1 *.yaml files (28 LOC)
    • 2 *.css files (27 LOC)
    • 11 *.reg files (11 LOC)
    • 1 *.py files (8 LOC)
    • 2 *.svelte files (8 LOC)
    • 1 *.hbs files (6 LOC)
  • " *.ts" is biggest, containing 47.72% of LOC.
  • " *.hbs" is smallest, containing 0% of LOC.


*.ts114220 LOC (47%) 574 files
*.js78280 LOC (32%) 1,532 files
*.jsx12437 LOC (5%) 17 files
*.zig12253 LOC (5%) 11 files
*.mjs10468 LOC (4%) 199 files
*.snap7158 LOC (2%) 23 files
*.cpp1537 LOC (<1%) 11 files
*.tsx1158 LOC (<1%) 30 files
*.c1150 LOC (<1%) 8 files
*.cjs274 LOC (<1%) 63 files
*.html128 LOC (<1%) 3 files
*.sh104 LOC (<1%) 8 files
*.toml40 LOC (<1%) 7 files
*.gyp38 LOC (<1%) 3 files
*.yaml28 LOC (<1%) 1 file
*.css27 LOC (<1%) 2 files
*.reg11 LOC (<1%) 11 files
*.py8 LOC (<1%) 1 file
*.svelte8 LOC (<1%) 2 files
*.hbs6 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "//[ ]*Generated by .*".
    • files with paths like ".*/package[-]lock[.]json".
  • 5 files match defined criteria (4,925 LOC, 1.1% vs. main code):
    • 2 *.ts files (2,706 LOC)
    • 3 *.json files (2,219 LOC)
  • " *.ts" is biggest, containing 54.94% of LOC.
  • " *.json" is smallest, containing 45.06% of LOC.


*.ts2706 LOC (54%) 2 files
*.json2219 LOC (45%) 3 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/[.]gitmodules".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/package[-]lock[.]json".
  • 31 files match defined criteria (1,200 LOC, 0.3% vs. main code). All matches are in *.sh files.


*.sh1200 LOC (100%) 31 files
Other Code
txt
patch
ini
plist
zig
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*/[.]npmignore".
    • files with paths like ".*/[.]eslintignore".
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]svg".
  • 579 files match defined criteria (54,633 LOC, 12.1% vs. main code):
    • 377 *.json files (36,807 LOC)
    • 59 *.txt files (13,427 LOC)
    • 75 *.md files (2,153 LOC)
    • 13 *.cpp files (563 LOC)
    • 4 *.h files (432 LOC)
    • 13 *.ts files (394 LOC)
    • 14 *.tsx files (248 LOC)
    • 8 *.js files (195 LOC)
    • 4 *.css files (133 LOC)
    • 1 *.patch files (91 LOC)
    • 2 *.ini files (81 LOC)
    • 3 *.plist files (58 LOC)
    • 2 *.html files (27 LOC)
    • 1 *.jsx files (14 LOC)
    • 1 *.zig files (5 LOC)
    • 1 *.rs files (4 LOC)
    • 1 *.svg files (1 LOC)
  • " *.json" is biggest, containing 67.37% of LOC.
  • " *.svg" is smallest, containing 0% of LOC.


*.json36807 LOC (67%) 377 files
*.txt13427 LOC (24%) 59 files
*.md2153 LOC (3%) 75 files
*.cpp563 LOC (1%) 13 files
*.h432 LOC (<1%) 4 files
*.ts394 LOC (<1%) 13 files
*.tsx248 LOC (<1%) 14 files
*.js195 LOC (<1%) 8 files
*.css133 LOC (<1%) 4 files
*.patch91 LOC (<1%) 1 file
*.ini81 LOC (<1%) 2 files
*.plist58 LOC (<1%) 3 files
*.html27 LOC (<1%) 2 files
*.jsx14 LOC (<1%) 1 file
*.zig5 LOC (<1%) 1 file
*.rs4 LOC (<1%) 1 file
*.svg1 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2026-01-18 17:35