mozilla / pdf.js
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
mjs
gitattributes
txt
stylelintignore
editorconfig
njk
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.

main168422 LOC (78%) 400 files
test42565 LOC (19%) 99 files
generated0 LOC (0%) 0 files
build and deployment0 LOC (0%) 0 files
other2504 LOC (1%) 93 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 400 files match defined criteria (168,422 LOC, 100.0% vs. main code):
    • 264 *.js files (115,352 LOC)
    • 112 *.ftl files (43,558 LOC)
    • 14 *.css files (5,182 LOC)
    • 3 *.mjs files (3,345 LOC)
    • 7 *.html files (985 LOC)
  • " *.js" is biggest, containing 68.49% of LOC.
  • " *.html" is smallest, containing 0.58% of LOC.


*.js115352 LOC (68%) 264 files
*.ftl43558 LOC (25%) 112 files
*.css5182 LOC (3%) 14 files
*.mjs3345 LOC (1%) 3 files
*.html985 LOC (<1%) 7 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
mjs
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 ".*_test[.].*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/test[.].*".
  • 99 files match defined criteria (42,565 LOC, 25.3% vs. main code):
    • 66 *.js files (26,175 LOC)
    • 22 *.mjs files (15,907 LOC)
    • 4 *.html files (231 LOC)
    • 5 *.css files (218 LOC)
    • 2 *.ts files (34 LOC)
  • " *.js" is biggest, containing 61.49% of LOC.
  • " *.ts" is smallest, containing 0.08% of LOC.


*.js26175 LOC (61%) 66 files
*.mjs15907 LOC (37%) 22 files
*.html231 LOC (<1%) 4 files
*.css218 LOC (<1%) 5 files
*.ts34 LOC (<1%) 2 files
Other Code
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]stylelintignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]prettierignore".
  • 93 files match defined criteria (2,504 LOC, 1.5% vs. main code):
    • 9 *.mjs files (808 LOC)
    • 10 *.json files (559 LOC)
    • 10 *.html files (418 LOC)
    • 55 *.svg files (339 LOC)
    • 1 *.css files (200 LOC)
    • 7 *.md files (165 LOC)
    • 1 *.js files (15 LOC)
  • " *.mjs" is biggest, containing 32.27% of LOC.
  • " *.js" is smallest, containing 0.6% of LOC.


*.mjs808 LOC (32%) 9 files
*.json559 LOC (22%) 10 files
*.html418 LOC (16%) 10 files
*.svg339 LOC (13%) 55 files
*.css200 LOC (7%) 1 file
*.md165 LOC (6%) 7 files
*.js15 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-11 19:40