mozilla / pontoon
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
po
txt
in
properties
mjs
ini
gitattributes
npmrc
prettierignore
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.

main67063 LOC (74%) 819 files
test18944 LOC (20%) 219 files
generated0 LOC (0%) 0 files
build and deployment16 LOC (<1%) 3 files
other4513 LOC (4%) 75 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
mjs
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 819 files match defined criteria (67,063 LOC, 100.0% vs. main code):
    • 339 *.py files (22,425 LOC)
    • 105 *.css files (12,199 LOC)
    • 33 *.js files (11,290 LOC)
    • 116 *.tsx files (10,057 LOC)
    • 110 *.html files (5,671 LOC)
    • 101 *.ts files (4,259 LOC)
    • 3 *.ftl files (793 LOC)
    • 3 *.mjs files (199 LOC)
    • 4 *.in files (98 LOC)
    • 3 *.jinja files (36 LOC)
    • 2 *.toml files (36 LOC)
  • " *.py" is biggest, containing 33.44% of LOC.
  • " *.toml" is smallest, containing 0.05% of LOC.


*.py22425 LOC (33%) 339 files
*.css12199 LOC (18%) 105 files
*.js11290 LOC (16%) 33 files
*.tsx10057 LOC (14%) 116 files
*.html5671 LOC (8%) 110 files
*.ts4259 LOC (6%) 101 files
*.ftl793 LOC (1%) 3 files
*.mjs199 LOC (<1%) 3 files
*.in98 LOC (<1%) 4 files
*.jinja36 LOC (<1%) 3 files
*.toml36 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/[Ss]pecs/.*".
  • 219 files match defined criteria (18,944 LOC, 28.2% vs. main code):
    • 121 *.py files (12,011 LOC)
    • 90 *.js files (6,614 LOC)
    • 1 *.tsx files (128 LOC)
    • 1 *.ts files (64 LOC)
    • 1 *.jsx files (54 LOC)
    • 4 *.toml files (47 LOC)
    • 1 *.in files (26 LOC)
  • " *.py" is biggest, containing 63.4% of LOC.
  • " *.in" is smallest, containing 0.14% of LOC.


*.py12011 LOC (63%) 121 files
*.js6614 LOC (34%) 90 files
*.tsx128 LOC (<1%) 1 file
*.ts64 LOC (<1%) 1 file
*.jsx54 LOC (<1%) 1 file
*.toml47 LOC (<1%) 4 files
*.in26 LOC (<1%) 1 file
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 ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*/[.]gitattributes".
  • 3 files match defined criteria (16 LOC, 0.0% vs. main code). All matches are in *.sh files.


*.sh16 LOC (100%) 3 files
Other Code
txt
po
properties
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]po".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*/[.]prettierignore".
  • 75 files match defined criteria (4,513 LOC, 6.7% vs. main code):
    • 6 *.txt files (1,934 LOC)
    • 28 *.md files (1,396 LOC)
    • 9 *.json files (464 LOC)
    • 10 *.svg files (364 LOC)
    • 1 *.rst files (257 LOC)
    • 13 *.po files (53 LOC)
    • 6 *.properties files (36 LOC)
    • 2 *.ini files (9 LOC)
  • " *.txt" is biggest, containing 42.85% of LOC.
  • " *.ini" is smallest, containing 0.2% of LOC.


*.txt1934 LOC (42%) 6 files
*.md1396 LOC (30%) 28 files
*.json464 LOC (10%) 9 files
*.svg364 LOC (8%) 10 files
*.rst257 LOC (5%) 1 file
*.po53 LOC (1%) 13 files
*.properties36 LOC (<1%) 6 files
*.ini9 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-11 19:39