alibaba / ice
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
ejs
mjs
snap
patch
txt
editorconfig
npmrc
eslintignore
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.

main29736 LOC (56%) 450 files
test7712 LOC (14%) 183 files
generated0 LOC (0%) 0 files
build and deployment2976 LOC (5%) 70 files
other11924 LOC (22%) 570 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
ejs
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 450 files match defined criteria (29,736 LOC, 100.0% vs. main code):
    • 349 *.ts files (24,199 LOC)
    • 41 *.tsx files (2,832 LOC)
    • 13 *.css files (1,250 LOC)
    • 16 *.js files (592 LOC)
    • 17 *.ejs files (390 LOC)
    • 10 *.jsx files (334 LOC)
    • 1 *.applescript files (83 LOC)
    • 3 *.mjs files (56 LOC)
  • " *.ts" is biggest, containing 81.38% of LOC.
  • " *.mjs" is smallest, containing 0.19% of LOC.


*.ts24199 LOC (81%) 349 files
*.tsx2832 LOC (9%) 41 files
*.css1250 LOC (4%) 13 files
*.js592 LOC (1%) 16 files
*.ejs390 LOC (1%) 17 files
*.jsx334 LOC (1%) 10 files
*.applescript83 LOC (<1%) 1 file
*.mjs56 LOC (<1%) 3 files
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 ".*/[Tt]ests/.*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*[.]spec[.]tsx".
    • files with paths like ".*/vitest[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*[.]snap".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[.]spec[.]js".
  • 183 files match defined criteria (7,712 LOC, 25.9% vs. main code):
    • 79 *.ts files (3,739 LOC)
    • 55 *.tsx files (2,124 LOC)
    • 39 *.js files (807 LOC)
    • 5 *.jsx files (501 LOC)
    • 3 *.snap files (496 LOC)
    • 2 *.mjs files (45 LOC)
  • " *.ts" is biggest, containing 48.48% of LOC.
  • " *.mjs" is smallest, containing 0.58% of LOC.


*.ts3739 LOC (48%) 79 files
*.tsx2124 LOC (27%) 55 files
*.js807 LOC (10%) 39 files
*.jsx501 LOC (6%) 5 files
*.snap496 LOC (6%) 3 files
*.mjs45 LOC (<1%) 2 files
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.*[.]ya?ml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
  • 70 files match defined criteria (2,976 LOC, 10.0% vs. main code):
    • 25 *.ts files (2,884 LOC)
    • 44 *.js files (87 LOC)
    • 1 *.yaml files (5 LOC)
  • " *.ts" is biggest, containing 96.91% of LOC.
  • " *.yaml" is smallest, containing 0.17% of LOC.


*.ts2884 LOC (96%) 25 files
*.js87 LOC (2%) 44 files
*.yaml5 LOC (<1%) 1 file
Other Code
patch
mjs
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]eslintignore".
  • 570 files match defined criteria (11,924 LOC, 40.1% vs. main code):
    • 164 *.json files (4,676 LOC)
    • 77 *.md files (3,150 LOC)
    • 228 *.tsx files (3,112 LOC)
    • 32 *.css files (390 LOC)
    • 41 *.ts files (259 LOC)
    • 2 *.patch files (110 LOC)
    • 6 *.jsx files (105 LOC)
    • 4 *.svg files (40 LOC)
    • 4 *.scss files (30 LOC)
    • 6 *.less files (27 LOC)
    • 2 *.mjs files (15 LOC)
    • 1 *.js files (7 LOC)
    • 2 *.html files (2 LOC)
    • 1 *.txt files (1 LOC)
  • " *.json" is biggest, containing 39.22% of LOC.
  • " *.txt" is smallest, containing 0.01% of LOC.


*.json4676 LOC (39%) 164 files
*.md3150 LOC (26%) 77 files
*.tsx3112 LOC (26%) 228 files
*.css390 LOC (3%) 32 files
*.ts259 LOC (2%) 41 files
*.patch110 LOC (<1%) 2 files
*.jsx105 LOC (<1%) 6 files
*.svg40 LOC (<1%) 4 files
*.scss30 LOC (<1%) 4 files
*.less27 LOC (<1%) 6 files
*.mjs15 LOC (<1%) 2 files
*.js7 LOC (<1%) 1 file
*.html2 LOC (<1%) 2 files
*.txt1 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-14 18:51