azure / azure-webpubsub
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
csproj
prefs
asset
txt
proto
project
mdx
razor
classpath
mod
eslintignore
pyi
vscodeignore
properties
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.

main16796 LOC (17%) 270 files
test3603 LOC (3%) 40 files
generated18322 LOC (19%) 7 files
build and deployment74 LOC (<1%) 2 files
other54777 LOC (58%) 769 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 270 files match defined criteria (16,796 LOC, 100.0% vs. main code):
    • 120 *.ts files (6,805 LOC)
    • 39 *.vue files (3,415 LOC)
    • 28 *.tsx files (2,740 LOC)
    • 66 *.js files (2,714 LOC)
    • 2 *.yaml files (369 LOC)
    • 8 *.css files (359 LOC)
    • 3 *.cs files (211 LOC)
    • 2 *.proto files (147 LOC)
    • 2 *.html files (36 LOC)
  • " *.ts" is biggest, containing 40.52% of LOC.
  • " *.html" is smallest, containing 0.21% of LOC.


*.ts6805 LOC (40%) 120 files
*.vue3415 LOC (20%) 39 files
*.tsx2740 LOC (16%) 28 files
*.js2714 LOC (16%) 66 files
*.yaml369 LOC (2%) 2 files
*.css359 LOC (2%) 8 files
*.cs211 LOC (1%) 3 files
*.proto147 LOC (<1%) 2 files
*.html36 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
csproj
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 ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Ss]pecs/.*".
  • 40 files match defined criteria (3,603 LOC, 21.5% vs. main code):
    • 25 *.ts files (3,032 LOC)
    • 6 *.cs files (453 LOC)
    • 2 *.csproj files (46 LOC)
    • 1 *.xml files (27 LOC)
    • 1 *.java files (20 LOC)
    • 3 *.js files (18 LOC)
    • 1 *.tsx files (5 LOC)
    • 1 *.py files (2 LOC)
  • " *.ts" is biggest, containing 84.15% of LOC.
  • " *.py" is smallest, containing 0.06% of LOC.


*.ts3032 LOC (84%) 25 files
*.cs453 LOC (12%) 6 files
*.csproj46 LOC (1%) 2 files
*.xml27 LOC (<1%) 1 file
*.java20 LOC (<1%) 1 file
*.js18 LOC (<1%) 3 files
*.tsx5 LOC (<1%) 1 file
*.py2 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 paths like ".*/package[-]lock[.]json".
  • 7 files match defined criteria (18,322 LOC, 109.1% vs. main code). All matches are in *.json files.


*.json18322 LOC (100%) 7 files
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 ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*/package[-]lock[.]json".
  • 2 files match defined criteria (74 LOC, 0.4% vs. main code):
    • 1 *.js files (46 LOC)
    • 1 *.csproj files (28 LOC)
  • " *.js" is biggest, containing 62.16% of LOC.
  • " *.csproj" is smallest, containing 37.84% of LOC.


*.js46 LOC (62%) 1 file
*.csproj28 LOC (37%) 1 file
Other Code
asset
csproj
pyi
razor
proto
txt
mod
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/[.]eslintignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]vscodeignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]mdx".
  • 769 files match defined criteria (54,777 LOC, 326.1% vs. main code):
    • 213 *.json files (25,358 LOC)
    • 104 *.js files (5,885 LOC)
    • 114 *.md files (5,210 LOC)
    • 54 *.html files (4,063 LOC)
    • 66 *.cs files (3,617 LOC)
    • 20 *.asset files (1,858 LOC)
    • 36 *.ts files (1,139 LOC)
    • 24 *.go files (1,000 LOC)
    • 13 *.css files (802 LOC)
    • 2 *.yaml files (724 LOC)
    • 2 *.unity files (701 LOC)
    • 11 *.svg files (700 LOC)
    • 16 *.java files (674 LOC)
    • 8 *.xml files (611 LOC)
    • 14 *.py files (537 LOC)
    • 31 *.csproj files (453 LOC)
    • 5 *.vue files (359 LOC)
    • 1 *.pyi files (215 LOC)
    • 6 *.tsx files (197 LOC)
    • 4 *.razor files (178 LOC)
    • 1 *.prefab files (155 LOC)
    • 2 *.proto files (150 LOC)
    • 1 *.scss files (68 LOC)
    • 15 *.txt files (53 LOC)
    • 3 *.mod files (37 LOC)
    • 2 *.sh files (27 LOC)
    • 1 *.properties files (6 LOC)
  • " *.json" is biggest, containing 46.29% of LOC.
  • " *.properties" is smallest, containing 0.01% of LOC.


*.json25358 LOC (46%) 213 files
*.js5885 LOC (10%) 104 files
*.md5210 LOC (9%) 114 files
*.html4063 LOC (7%) 54 files
*.cs3617 LOC (6%) 66 files
*.asset1858 LOC (3%) 20 files
*.ts1139 LOC (2%) 36 files
*.go1000 LOC (1%) 24 files
*.css802 LOC (1%) 13 files
*.yaml724 LOC (1%) 2 files
*.unity701 LOC (1%) 2 files
*.svg700 LOC (1%) 11 files
*.java674 LOC (1%) 16 files
*.xml611 LOC (1%) 8 files
*.py537 LOC (<1%) 14 files
*.csproj453 LOC (<1%) 31 files
*.vue359 LOC (<1%) 5 files
*.pyi215 LOC (<1%) 1 file
*.tsx197 LOC (<1%) 6 files
*.razor178 LOC (<1%) 4 files
*.prefab155 LOC (<1%) 1 file
*.proto150 LOC (<1%) 2 files
*.scss68 LOC (<1%) 1 file
*.txt53 LOC (<1%) 15 files
*.mod37 LOC (<1%) 3 files
*.sh27 LOC (<1%) 2 files
*.properties6 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 22:10