azure / static-web-apps-cli
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
razor
svelte
npmrc
txt
mjs
csproj
editorconfig
hbs
plist
ini
riot
cshtml
marko
styl
npmignore
mod
storyboard
mdx
properties
prettierignore
csx
watchmanconfig
babelrc
elm
eslintignore
lektorproject
gitattributes
prisma
ejs
coffee
snap
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.

main9673 LOC (20%) 121 files
test4827 LOC (10%) 47 files
generated3 LOC (<1%) 1 file
build and deployment84 LOC (<1%) 5 files
other31978 LOC (68%) 914 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
razor
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 121 files match defined criteria (9,673 LOC, 100.0% vs. main code):
    • 73 *.ts files (7,897 LOC)
    • 17 *.html files (727 LOC)
    • 15 *.js files (643 LOC)
    • 8 *.razor files (149 LOC)
    • 5 *.cs files (132 LOC)
    • 2 *.css files (117 LOC)
    • 1 *.gql files (8 LOC)
  • " *.ts" is biggest, containing 81.64% of LOC.
  • " *.gql" is smallest, containing 0.08% of LOC.


*.ts7897 LOC (81%) 73 files
*.html727 LOC (7%) 17 files
*.js643 LOC (6%) 15 files
*.razor149 LOC (1%) 8 files
*.cs132 LOC (1%) 5 files
*.css117 LOC (1%) 2 files
*.gql8 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
snap
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*[.]spec[.]js".
    • files with paths like ".*[.]snap".
    • files with paths like ".*/vitest[.].*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/__mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/karma[.]conf[.]js".
    • files with paths like ".*/protractor[.]conf[.]js".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*/[Ss]pecs/.*".
  • 47 files match defined criteria (4,827 LOC, 49.9% vs. main code):
    • 37 *.ts files (4,162 LOC)
    • 1 *.snap files (427 LOC)
    • 5 *.js files (182 LOC)
    • 1 *.html files (21 LOC)
    • 1 *.tsx files (18 LOC)
    • 1 *.css files (10 LOC)
    • 1 *.mjs files (7 LOC)
  • " *.ts" is biggest, containing 86.22% of LOC.
  • " *.mjs" is smallest, containing 0.15% of LOC.


*.ts4162 LOC (86%) 37 files
*.snap427 LOC (8%) 1 file
*.js182 LOC (3%) 5 files
*.html21 LOC (<1%) 1 file
*.tsx18 LOC (<1%) 1 file
*.css10 LOC (<1%) 1 file
*.mjs7 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".
  • 1 file matches defined criteria (3 LOC, 0.0% vs. main code). All matches are in *.json files.


*.json3 LOC (100%) 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 ".*[.]sh".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*/pnpm.*[.]ya?ml".
    • files with paths like ".*/package[-]lock[.]json".
  • 5 files match defined criteria (84 LOC, 0.9% vs. main code):
    • 4 *.csproj files (67 LOC)
    • 1 *.sh files (17 LOC)
  • " *.csproj" is biggest, containing 79.76% of LOC.
  • " *.sh" is smallest, containing 20.24% of LOC.


*.csproj67 LOC (79%) 4 files
*.sh17 LOC (20%) 1 file
Other Code
svelte
hbs
razor
txt
marko
plist
mjs
csproj
cshtml
coffee
storyboard
ini
elm
riot
prisma
csx
mdx
ejs
mod
properties
lektorproject
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]npmignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*[.]mdx".
    • files with paths like ".*/[.]eslintignore".
    • files with paths like ".*[.]markdown".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]storyboard".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[Dd]emos?/.*".
  • 914 files match defined criteria (31,978 LOC, 330.6% vs. main code):
    • 120 *.js files (5,800 LOC)
    • 190 *.json files (5,445 LOC)
    • 111 *.md files (3,787 LOC)
    • 64 *.css files (3,195 LOC)
    • 26 *.svg files (1,861 LOC)
    • 87 *.html files (1,682 LOC)
    • 74 *.ts files (1,363 LOC)
    • 11 *.scss files (1,195 LOC)
    • 28 *.tsx files (1,039 LOC)
    • 5 *.yaml files (1,020 LOC)
    • 18 *.svelte files (845 LOC)
    • 26 *.toml files (651 LOC)
    • 17 *.vue files (571 LOC)
    • 2 *.sh files (346 LOC)
    • 4 *.hbs files (331 LOC)
    • 4 *.cpp files (311 LOC)
    • 16 *.razor files (293 LOC)
    • 7 *.rb files (210 LOC)
    • 10 *.txt files (206 LOC)
    • 3 *.erb files (165 LOC)
    • 6 *.pug files (143 LOC)
    • 4 *.py files (143 LOC)
    • 8 *.cs files (142 LOC)
    • 6 *.h files (91 LOC)
    • 3 *.marko files (90 LOC)
    • 4 *.plist files (89 LOC)
    • 3 *.gradle files (88 LOC)
    • 5 *.jsx files (85 LOC)
    • 10 *.mjs files (82 LOC)
    • 5 *.csproj files (78 LOC)
    • 2 *.dart files (72 LOC)
    • 3 *.cshtml files (72 LOC)
    • 1 *.coffee files (71 LOC)
    • 2 *.storyboard files (61 LOC)
    • 6 *.xml files (58 LOC)
    • 3 *.ini files (46 LOC)
    • 3 *.markdown files (40 LOC)
    • 1 *.elm files (36 LOC)
    • 3 *.riot files (36 LOC)
    • 1 *.prisma files (29 LOC)
    • 1 *.sql files (24 LOC)
    • 1 *.csx files (17 LOC)
    • 1 *.mdx files (14 LOC)
    • 1 *.ejs files (13 LOC)
    • 1 *.swift files (12 LOC)
    • 1 *.cmake files (12 LOC)
    • 2 *.mod files (6 LOC)
    • 1 *.kt files (4 LOC)
    • 1 *.cc files (3 LOC)
    • 1 *.properties files (3 LOC)
    • 1 *.lektorproject files (2 LOC)
  • " *.js" is biggest, containing 18.14% of LOC.
  • " *.lektorproject" is smallest, containing 0.01% of LOC.


*.js5800 LOC (18%) 120 files
*.json5445 LOC (17%) 190 files
*.md3787 LOC (11%) 111 files
*.css3195 LOC (9%) 64 files
*.svg1861 LOC (5%) 26 files
*.html1682 LOC (5%) 87 files
*.ts1363 LOC (4%) 74 files
*.scss1195 LOC (3%) 11 files
*.tsx1039 LOC (3%) 28 files
*.yaml1020 LOC (3%) 5 files
*.svelte845 LOC (2%) 18 files
*.toml651 LOC (2%) 26 files
*.vue571 LOC (1%) 17 files
*.sh346 LOC (1%) 2 files
*.hbs331 LOC (1%) 4 files
*.cpp311 LOC (<1%) 4 files
*.razor293 LOC (<1%) 16 files
*.rb210 LOC (<1%) 7 files
*.txt206 LOC (<1%) 10 files
*.erb165 LOC (<1%) 3 files
*.pug143 LOC (<1%) 6 files
*.py143 LOC (<1%) 4 files
*.cs142 LOC (<1%) 8 files
*.h91 LOC (<1%) 6 files
*.marko90 LOC (<1%) 3 files
*.plist89 LOC (<1%) 4 files
*.gradle88 LOC (<1%) 3 files
*.jsx85 LOC (<1%) 5 files
*.mjs82 LOC (<1%) 10 files
*.csproj78 LOC (<1%) 5 files
*.dart72 LOC (<1%) 2 files
*.cshtml72 LOC (<1%) 3 files
*.coffee71 LOC (<1%) 1 file
*.storyboard61 LOC (<1%) 2 files
*.xml58 LOC (<1%) 6 files
*.ini46 LOC (<1%) 3 files
*.markdown40 LOC (<1%) 3 files
*.elm36 LOC (<1%) 1 file
*.riot36 LOC (<1%) 3 files
*.prisma29 LOC (<1%) 1 file
*.sql24 LOC (<1%) 1 file
*.csx17 LOC (<1%) 1 file
*.mdx14 LOC (<1%) 1 file
*.ejs13 LOC (<1%) 1 file
*.swift12 LOC (<1%) 1 file
*.cmake12 LOC (<1%) 1 file
*.mod6 LOC (<1%) 2 files
*.kt4 LOC (<1%) 1 file
*.cc3 LOC (<1%) 1 file
*.properties3 LOC (<1%) 1 file
*.lektorproject2 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 22:03