firebase / firebase-js-sdk
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (53 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 53 components.
  • 969 files, 89,086 lines of code (94.6% vs. main code).
  • "packages/firestore" is biggest, containing 36.76% of code.
  • "integration/compat-interop" is smallest, containing 0% of code.


packages/firestore32744 LOC (34%) 247 files
packages/database13945 LOC (14%) 88 files
packages/auth10265 LOC (10%) 139 files
packages/storage3837 LOC (4%) 40 files
repo-scripts/api-documenter2679 LOC (2%) 28 files
packages/messaging2123 LOC (2%) 45 files
packages/firestore-compat1632 LOC (1%) 17 files
packages/performance1601 LOC (1%) 21 files
packages/analytics1542 LOC (1%) 17 files
packages/app-check1467 LOC (1%) 19 files
packages/util1355 LOC (1%) 22 files
packages/installations1296 LOC (1%) 34 files
repo-scripts/size-analysis1265 LOC (1%) 9 files
packages/auth-compat1261 LOC (1%) 12 files
packages/database-compat1114 LOC (1%) 11 files
scripts/docgen-compat1021 LOC (1%) 13 files
packages/remote-config990 LOC (1%) 17 files
packages/functions677 LOC (<1%) 11 files
repo-scripts/prune-dts563 LOC (<1%) 2 files
packages/app534 LOC (<1%) 12 files
packages/app-compat498 LOC (<1%) 13 files
scripts/release487 LOC (<1%) 12 files
packages/storage-compat462 LOC (<1%) 7 files
packages/firebase452 LOC (<1%) 36 files
packages/rules-unit-testing449 LOC (<1%) 10 files
packages/component423 LOC (<1%) 7 files
scripts/build320 LOC (<1%) 4 files
scripts/ci291 LOC (<1%) 4 files
scripts/ci-test274 LOC (<1%) 3 files
scripts272 LOC (<1%) 5 files
scripts/size_report258 LOC (<1%) 3 files
packages/logger233 LOC (<1%) 3 files
scripts/format232 LOC (<1%) 3 files
config206 LOC (<1%) 3 files
packages/webchannel-wrapper205 LOC (<1%) 4 files
packages/app-check-compat199 LOC (<1%) 4 files
packages/messaging-compat195 LOC (<1%) 4 files
packages/remote-config-compat175 LOC (<1%) 3 files
packages/analytics-compat172 LOC (<1%) 4 files
tools160 LOC (<1%) 3 files
packages/functions-compat154 LOC (<1%) 5 files
packages/installations-compat151 LOC (<1%) 5 files
scripts/emulator-testing130 LOC (<1%) 3 files
scripts/extract-deps123 LOC (<1%) 2 files
packages/performance-compat121 LOC (<1%) 3 files
scripts/docgen119 LOC (<1%) 1 files
config/functions104 LOC (<1%) 1 files
repo-scripts/changelog-generator88 LOC (<1%) 1 files
integration/firestore88 LOC (<1%) 2 files
packages/template68 LOC (<1%) 4 files
integration/compat-typings56 LOC (<1%) 1 files
integration/messaging9 LOC (<1%) 1 files
integration/compat-interop1 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-03 05:37