azure / azure-sdk-for-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
txt
cmd
npmrc
plist
properties
prettierignore
watchmanconfig
pro
storyboard
proto
hbs
gitattributes
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.

main2862010 LOC (56%) 25,655 files
test307089 LOC (6%) 3,409 files
generated171416 LOC (3%) 635 files
build and deployment46 LOC (<1%) 2 files
other1738420 LOC (34%) 36,948 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
mjs
hbs
proto
cmd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 25655 files match defined criteria (2,862,010 LOC, 100.0% vs. main code):
    • 25,291 *.ts files (2,837,919 LOC)
    • 116 *.ps1 files (16,722 LOC)
    • 42 *.js files (3,808 LOC)
    • 107 *.mjs files (1,506 LOC)
    • 10 *.tsx files (371 LOC)
    • 14 *.mustache files (273 LOC)
    • 1 *.psm1 files (263 LOC)
    • 2 *.css files (260 LOC)
    • 57 *.yaml files (232 LOC)
    • 1 *.hbs files (196 LOC)
    • 3 *.scss files (126 LOC)
    • 2 *.vue files (114 LOC)
    • 3 *.html files (96 LOC)
    • 1 *.proto files (77 LOC)
    • 3 *.cmd files (36 LOC)
    • 1 *.cjs files (7 LOC)
    • 1 *.xml files (4 LOC)
  • " *.ts" is biggest, containing 99.16% of LOC.
  • " *.xml" is smallest, containing 0% of LOC.


*.ts2837919 LOC (99%) 25,291 files
*.ps116722 LOC (<1%) 116 files
*.js3808 LOC (<1%) 42 files
*.mjs1506 LOC (<1%) 107 files
*.tsx371 LOC (<1%) 10 files
*.mustache273 LOC (<1%) 14 files
*.psm1263 LOC (<1%) 1 file
*.css260 LOC (<1%) 2 files
*.yaml232 LOC (<1%) 57 files
*.hbs196 LOC (<1%) 1 file
*.scss126 LOC (<1%) 3 files
*.vue114 LOC (<1%) 2 files
*.html96 LOC (<1%) 3 files
*.proto77 LOC (<1%) 1 file
*.cmd36 LOC (<1%) 3 files
*.cjs7 LOC (<1%) 1 file
*.xml4 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
mjs
cmd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/vitest[.].*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/karma[.]conf[.]js".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*[.]tests[.].*".
    • files with paths like ".*/test[-]resources/.*".
    • files with paths like ".*[.]spec[.]js".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
    • files with paths like ".*__tests__.*".
  • 3409 files match defined criteria (307,089 LOC, 10.7% vs. main code):
    • 3,382 *.ts files (305,595 LOC)
    • 4 *.ps1 files (608 LOC)
    • 7 *.js files (354 LOC)
    • 1 *.tsx files (309 LOC)
    • 10 *.yaml files (175 LOC)
    • 3 *.mjs files (41 LOC)
    • 1 *.html files (6 LOC)
    • 1 *.cmd files (1 LOC)
  • " *.ts" is biggest, containing 99.51% of LOC.
  • " *.cmd" is smallest, containing 0% of LOC.


*.ts305595 LOC (99%) 3,382 files
*.ps1608 LOC (<1%) 4 files
*.js354 LOC (<1%) 7 files
*.tsx309 LOC (<1%) 1 file
*.yaml175 LOC (<1%) 10 files
*.mjs41 LOC (<1%) 3 files
*.html6 LOC (<1%) 1 file
*.cmd1 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 ".*/generated/.*".
    • files with any line of content like "// Generated using .*".
    • files with paths like ".*/package[-]lock[.]json".
  • 635 files match defined criteria (171,416 LOC, 6.0% vs. main code):
    • 628 *.ts files (163,482 LOC)
    • 3 *.json files (3,906 LOC)
    • 3 *.js files (2,054 LOC)
    • 1 *.cjs files (1,974 LOC)
  • " *.ts" is biggest, containing 95.37% of LOC.
  • " *.cjs" is smallest, containing 1.15% of LOC.


*.ts163482 LOC (95%) 628 files
*.json3906 LOC (2%) 3 files
*.js2054 LOC (1%) 3 files
*.cjs1974 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 ".*/package[.]json".
    • files with paths like ".*/pnpm.*[.]json".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]bat".
  • 2 files match defined criteria (46 LOC, 0.0% vs. main code):
    • 1 *.sh files (24 LOC)
    • 1 *.js files (22 LOC)
  • " *.sh" is biggest, containing 52.17% of LOC.
  • " *.js" is smallest, containing 47.83% of LOC.


*.sh24 LOC (52%) 1 file
*.js22 LOC (47%) 1 file
Other Code
mjs
plist
txt
storyboard
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]storyboard".
  • 36948 files match defined criteria (1,738,420 LOC, 60.7% vs. main code):
    • 2,313 *.md files (581,639 LOC)
    • 14,839 *.ts files (514,847 LOC)
    • 14,790 *.js files (460,223 LOC)
    • 4,934 *.json files (179,709 LOC)
    • 21 *.html files (790 LOC)
    • 8 *.tsx files (368 LOC)
    • 4 *.java files (135 LOC)
    • 3 *.gradle files (96 LOC)
    • 2 *.svg files (94 LOC)
    • 3 *.mjs files (94 LOC)
    • 2 *.plist files (79 LOC)
    • 1 *.bat files (68 LOC)
    • 2 *.m files (61 LOC)
    • 17 *.txt files (57 LOC)
    • 5 *.xml files (53 LOC)
    • 1 *.storyboard files (46 LOC)
    • 1 *.properties files (35 LOC)
    • 1 *.mm files (22 LOC)
    • 1 *.h files (4 LOC)
  • " *.md" is biggest, containing 33.46% of LOC.
  • " *.h" is smallest, containing 0% of LOC.


*.md581639 LOC (33%) 2,313 files
*.ts514847 LOC (29%) 14,839 files
*.js460223 LOC (26%) 14,790 files
*.json179709 LOC (10%) 4,934 files
*.html790 LOC (<1%) 21 files
*.tsx368 LOC (<1%) 8 files
*.java135 LOC (<1%) 4 files
*.gradle96 LOC (<1%) 3 files
*.svg94 LOC (<1%) 2 files
*.mjs94 LOC (<1%) 3 files
*.plist79 LOC (<1%) 2 files
*.bat68 LOC (<1%) 1 file
*.m61 LOC (<1%) 2 files
*.txt57 LOC (<1%) 17 files
*.xml53 LOC (<1%) 5 files
*.storyboard46 LOC (<1%) 1 file
*.properties35 LOC (<1%) 1 file
*.mm22 LOC (<1%) 1 file
*.h4 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 21:43