aws / jsii
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
npmignore
txt
mjs
snap
csproj
gitattributes
mod
ini
targets
fs
npmrc
in
cmd
fsproj
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.

main38448 LOC (46%) 445 files
test35336 LOC (42%) 120 files
generated0 LOC (0%) 0 files
build and deployment400 LOC (<1%) 22 files
other8049 LOC (9%) 127 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
targets
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 445 files match defined criteria (38,448 LOC, 100.0% vs. main code):
    • 198 *.ts files (26,397 LOC)
    • 117 *.cs files (4,914 LOC)
    • 57 *.go files (2,629 LOC)
    • 31 *.java files (2,033 LOC)
    • 16 *.py files (1,409 LOC)
    • 17 *.js files (609 LOC)
    • 2 *.yaml files (204 LOC)
    • 2 *.ps1 files (112 LOC)
    • 2 *.css files (109 LOC)
    • 1 *.targets files (16 LOC)
    • 1 *.toml files (13 LOC)
    • 1 *.in files (3 LOC)
  • " *.ts" is biggest, containing 68.66% of LOC.
  • " *.in" is smallest, containing 0.01% of LOC.


*.ts26397 LOC (68%) 198 files
*.cs4914 LOC (12%) 117 files
*.go2629 LOC (6%) 57 files
*.java2033 LOC (5%) 31 files
*.py1409 LOC (3%) 16 files
*.js609 LOC (1%) 17 files
*.yaml204 LOC (<1%) 2 files
*.ps1112 LOC (<1%) 2 files
*.css109 LOC (<1%) 2 files
*.targets16 LOC (<1%) 1 file
*.toml13 LOC (<1%) 1 file
*.in3 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
snap
mjs
csproj
fsproj
fs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*[.]snap".
    • files with paths like ".*/test[-]data/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[.]UnitTests/.*".
    • files with paths like ".*UnitTests[.][a-zA-Z0-9_]+".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
  • 120 files match defined criteria (35,336 LOC, 91.9% vs. main code):
    • 6 *.snap files (15,361 LOC)
    • 48 *.ts files (8,814 LOC)
    • 23 *.cs files (5,008 LOC)
    • 10 *.java files (2,261 LOC)
    • 10 *.go files (1,980 LOC)
    • 5 *.py files (1,586 LOC)
    • 11 *.mjs files (134 LOC)
    • 3 *.csproj files (76 LOC)
    • 2 *.sh files (66 LOC)
    • 1 *.fsproj files (38 LOC)
    • 1 *.fs files (12 LOC)
  • " *.snap" is biggest, containing 43.47% of LOC.
  • " *.fs" is smallest, containing 0.03% of LOC.


*.snap15361 LOC (43%) 6 files
*.ts8814 LOC (24%) 48 files
*.cs5008 LOC (14%) 23 files
*.java2261 LOC (6%) 10 files
*.go1980 LOC (5%) 10 files
*.py1586 LOC (4%) 5 files
*.mjs134 LOC (<1%) 11 files
*.csproj76 LOC (<1%) 3 files
*.sh66 LOC (<1%) 2 files
*.fsproj38 LOC (<1%) 1 file
*.fs12 LOC (<1%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
csproj
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 ".*[.]csproj".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
  • 22 files match defined criteria (400 LOC, 1.0% vs. main code):
    • 18 *.sh files (275 LOC)
    • 3 *.csproj files (74 LOC)
    • 1 *.js files (51 LOC)
  • " *.sh" is biggest, containing 68.75% of LOC.
  • " *.js" is smallest, containing 12.75% of LOC.


*.sh275 LOC (68%) 18 files
*.csproj74 LOC (18%) 3 files
*.js51 LOC (12%) 1 file
Other Code
txt
mod
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]npmignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*/[.]dockerignore".
  • 127 files match defined criteria (8,049 LOC, 20.9% vs. main code):
    • 63 *.md files (6,241 LOC)
    • 47 *.json files (1,576 LOC)
    • 10 *.txt files (97 LOC)
    • 2 *.mod files (53 LOC)
    • 2 *.ts files (46 LOC)
    • 1 *.svg files (32 LOC)
    • 2 *.ini files (4 LOC)
  • " *.md" is biggest, containing 77.54% of LOC.
  • " *.ini" is smallest, containing 0.05% of LOC.


*.md6241 LOC (77%) 63 files
*.json1576 LOC (19%) 47 files
*.txt97 LOC (1%) 10 files
*.mod53 LOC (<1%) 2 files
*.ts46 LOC (<1%) 2 files
*.svg32 LOC (<1%) 1 file
*.ini4 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-03 23:47