@callidescope/graph 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,844 @@
1
+ # ๐Ÿ”ญ Callidescope Graph
2
+
3
+ **Builds the call graph from traced TypeScript source and measures its depth and breadth.**
4
+
5
+ This package is the leaf of the
6
+ [`@callidescope/cli`](../callidescope-cli/README.md) package graph: it depends
7
+ only on [`@callidescope/configuration`](../callidescope-configuration/README.md)
8
+ and `@codebase/logger`, and nothing here reaches into
9
+ [`@callidescope/output`](../callidescope-output/README.md).
10
+
11
+ ```bash
12
+ npm install --save-dev @callidescope/graph
13
+ ```
14
+
15
+ ## What This Package Owns
16
+
17
+ - **`program`** โ€” compiles the traced TypeScript projects
18
+ - **`workspace`** โ€” resolves which projects and files are in scope
19
+ - **`callables`** โ€” discovers the callable declarations
20
+ - **`entry-points`** โ€” resolves configured entry points
21
+ - **`class-hierarchy`** โ€” resolves interface members to concrete implementations, capped by `MAXIMUM_IMPLEMENTATION_CANDIDATES`
22
+ - **`signatures`** โ€” reads callable signatures
23
+ - **`documentation`** โ€” reads a callable's documentation comment
24
+ - **`edges`** โ€” resolves call sites to callee declarations
25
+ - **`graph`** โ€” assembles the above into `CallGraph`/`CondensedGraph` and measures depth and breadth over it
26
+
27
+ ## Test
28
+
29
+ ```bash
30
+ nx run callidescope-graph:vitest
31
+ ```
32
+
33
+ ## ๐Ÿ‘” Conformetry
34
+
35
+ This project was generated from the [nestjs-service-project](../../../../configuration/conformetry-templates/nestjs-service-project) conformetry template.
36
+
37
+ <!-- callidescope:start -->
38
+
39
+ ## ๐Ÿ”ญ Callidescope
40
+
41
+ Call stacks traced through `packages/ic-suite/callidescope/callidescope-graph`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
42
+
43
+ | Measure | Value |
44
+ | --- | --- |
45
+ | Callables | 207 |
46
+ | Files | 63 |
47
+ | Calls traced | 197 |
48
+ | Call stacks | 4 |
49
+ | Deepest stack | 5 |
50
+ | Stacks through recursion | 0 |
51
+ | Unfollowable calls | 5 |
52
+
53
+ ### Limits
54
+
55
+ What this project is judged against, as declared in its own `callidescope.config.ts`.
56
+
57
+ | Limit | Value |
58
+ | --- | --- |
59
+ | `maximumDepth` | 11 |
60
+ | `maximumBreadth` | 9 |
61
+
62
+ ### Call stacks (depth)
63
+
64
+ **1. `ProgramService.resolveProjectFiles`** โ€” depth โ‰ฅ 5 ยท orphan-root
65
+
66
+ ```text
67
+ ๐Ÿš€ ProgramService.resolveProjectFiles(project: WorkspaceProject): readonly string[] [packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:262]
68
+ โ””โ”€> ProgramService.buildProgram(args: { project: WorkspaceProject; workspaceRoot: string; }): ProjectProgram [packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:115]
69
+ โ†ณ Builds one project's program, checker, and owned-file set.
70
+ โ””โ”€> CompilerHostService.createHost(args: { options: ts.CompilerOptions; workspaceRoot: string; }): ts.CompilerHost [packages/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:76]
71
+ โ†ณ Creates a compiler host that reuses already-parsed source files. `setParentNodes` is on because the rest of the packageโ€ฆ
72
+ โ””โ”€> CompilerHostService.resolveModuleCache(options: ts.CompilerOptions, workspaceRoot: string): ts.ModuleResolutionCache [packages/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:40]
73
+ โ†ณ Returns the module resolution cache for one working directory.
74
+ โ””โ”€> CompilerHostService.createModuleResolutionCache(โ€ฆ)(fileName: string): string [packages/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:52]
75
+ ```
76
+
77
+ **2. `CallablesService.visit`** โ€” depth 5 ยท orphan-root
78
+
79
+ ```text
80
+ ๐Ÿš€ CallablesService.visit(node: ts.Node): void [packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:49]
81
+ โ””โ”€> CallablesService.describe(args: DescribeCallableArguments): DiscoveredCallable [packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:122]
82
+ โ†ณ Turns one declaration into a fully described node.
83
+ โ””โ”€> CallableIdentityService.readDisplayName(declaration: CallableDeclaration): string [packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:131]
84
+ โ†ณ Builds the qualified name a report prints for a callable.
85
+ โ””โ”€> CallableIdentityService.readMemberName(declaration: CallableDeclaration): string [packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:193]
86
+ โ†ณ Reads the member name, falling back to the shape it was written in.
87
+ โ””โ”€> CallableIdentityService.readBindingName(node: ts.Node): string | undefined [packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:50]
88
+ โ†ณ Reads the name a property, variable, or parameter declaration binds.
89
+ ```
90
+
91
+ **3. `FileFilterService.isExcluded`** โ€” depth โ‰ฅ 4 ยท orphan-root
92
+
93
+ ```text
94
+ ๐Ÿš€ FileFilterService.isExcluded(workspaceRelativePath: string): boolean [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:206]
95
+ โ””โ”€> FileFilterService.isExcludedByOwningProject(โ€ฆ): boolean [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:60]
96
+ โ†ณ True when the project owning a file excludes it with a glob of its own.
97
+ โ””โ”€> WorkspaceService.resolveOwningProject(โ€ฆ): WorkspaceProject | undefined [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:271]
98
+ โ†ณ Names the traced project whose root most narrowly contains a file. "Contains" means the deepest of `args.projects`โ€ฆ
99
+ โ””โ”€> WorkspaceService.isContainedByRoot(args: { root: string; workspaceRelativePath: string; }): boolean [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:115]
100
+ โ†ณ True when a project's root is a path-segment prefix of a file's path.
101
+ ```
102
+
103
+ <details>
104
+ <summary>1 more call stacks</summary>
105
+
106
+ **4. `FileFilterService.isExcluded`** โ€” depth 2 ยท orphan-root
107
+
108
+ ```text
109
+ ๐Ÿš€ FileFilterService.isExcluded(workspaceRelativePath: string): boolean [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:161]
110
+ โ””โ”€> FileFilterService.some(โ€ฆ)(glob: string): boolean [packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:163]
111
+ ```
112
+
113
+ </details>
114
+
115
+ ### Breadth
116
+
117
+ | Callable | Breadth | Calls directly | Location |
118
+ | --- | --- | --- | --- |
119
+ | `CallablesService.describe` | 8 | `CallableIdentityService.readDisplayName`, `CallableIdentityService.readEnclosingTypeName`, `CallableIdentityService.buildId`, `CallableIdentityService.isExported`, `CallableIdentityService.readKind`, `CallableIdentityService.readLocation`, `CallableIdentityService.readMemberName`, `CallableIdentityService.countStatements` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:122` |
120
+ | `EdgesService.buildSiteEdges` | 7 | `EdgesService.collectCallbackEdges`, `EdgesService.resolveSite`, `EdgesService.filter(โ€ฆ)`, `EdgesService.filter(โ€ฆ)`, `EdgesService.map(โ€ฆ)`, `EdgesService.filter(โ€ฆ)`, `EdgesService.readLocation` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:59` |
121
+ | `SymbolResolutionService.resolveSymbol` | 6 | `SymbolResolutionService.unwrapAlias`, `SymbolResolutionService.every(โ€ฆ)`, `SymbolResolutionService.readBodied`, `SymbolResolutionService.readResolution`, `SymbolResolutionService.find(โ€ฆ)`, `SymbolResolutionService.resolveThroughHierarchy` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:165` |
122
+
123
+ <details>
124
+ <summary>96 more callables</summary>
125
+
126
+ | Callable | Breadth | Calls directly | Location |
127
+ | --- | --- | --- | --- |
128
+ | `WorkspaceService.discoverProjects` | 5 | `WorkspaceService.map(โ€ฆ)`, `WorkspaceService.findAllProjectDirectories`, `WorkspaceService.isExcludedProject`, `ProgramConfigurationError.constructor`, `WorkspaceService.toSorted(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:186` |
129
+ | `ProgramService.assignOwnership` | 5 | `ProgramService.toRealPath`, `ProgramService.map(โ€ฆ)`, `WorkspaceService.toWorkspaceRelative`, `WorkspaceService.resolveOwningProject`, `ProgramService.find(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:64` |
130
+ | `EntriesService.resolve` | 5 | `EntriesService.toRules`, `EntriesService.map(โ€ฆ)`, `EntriesService.classifyEveryCallable`, `EntriesService.rootDeclaredAddresses`, `EntriesService.promoteOrphans` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:312` |
131
+ | `GraphAssemblyService.assemble` | 5 | `GraphService.assemble`, `EdgesService.build`, `ComponentsService.condense`, `BreadthService.measure`, `GraphDepthService.measure` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-assembly.service.ts:43` |
132
+ | `AddressService.resolve` | 4 | `AddressService.parseAddress`, `AddressService.describeInvalidAddress`, `AddressService.findMatches`, `AddressService.toCandidates` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:235` |
133
+ | `ClassesService.resolveImplementations` | 4 | `ClassesService.collectDerived`, `ClassesService.filter(โ€ฆ)`, `ClassesService.filterAssignable`, `ClassesService.flatMap(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:204` |
134
+ | `DocumentationService.read` | 4 | `DocumentationService.readSymbol`, `DocumentationService.readSummary`, `DocumentationService.filter(โ€ฆ)`, `DocumentationService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/documentation/documentation.service.ts:78` |
135
+ | `AddressService.describeCandidates` | 3 | `AddressService.countCandidatesByLine`, `AddressService.some(โ€ฆ)`, `AddressService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:181` |
136
+ | `AddressService.listAddresses` | 3 | `AddressService.toAddress`, `AddressService.map(โ€ฆ)`, `AddressService.toSorted(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:212` |
137
+ | `ProgramService.buildProgram` | 3 | `ProgramService.parseConfiguration`, `CompilerHostService.createHost`, `ProgramService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:115` |
138
+ | `ProgramService.parseConfiguration` | 3 | `ProgramService.readJsonConfigFile(โ€ฆ)`, `ProgramConfigurationError.constructor`, `ProgramService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:147` |
139
+ | `ProgramService.buildPrograms` | 3 | `WorkspaceService.walkImportedProjectClosure`, `ProgramService.toSorted(โ€ฆ)`, `ProgramService.assignOwnership` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:254` |
140
+ | `CallablesService.collectFromProgram` | 3 | `CallablesService.readOwnedPath`, `WorkspaceService.isTestFile`, `CallablesService.collectFromFile` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:77` |
141
+ | `ClassesService.indexProgram` | 3 | `ExternalService.isExternal`, `ClassesService.indexMembers`, `ClassesService.indexHeritage` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:178` |
142
+ | `EdgesService.collectCallbackEdges` | 3 | `EdgesService.map(โ€ฆ)`, `EdgesService.filter(โ€ฆ)`, `EdgesService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:127` |
143
+ | `EntriesService.classify` | 3 | `EntriesService.hasConfiguredDecorator`, `EntriesService.isCommandRunnerMethod`, `EntriesService.isBootstrapFunction` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:67` |
144
+ | `ComponentsService.condense` | 3 | `ComponentsService.openNode`, `ComponentsService.step`, `ComponentsService.buildSuccessors` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:183` |
145
+ | `AddressService.parseAddress` | 2 | `AddressService.parseSymbolPath`, `AddressService.toWorkspaceRelative` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:89` |
146
+ | `CallableIdentityService.readDisplayName` | 2 | `CallableIdentityService.readMemberName`, `CallableIdentityService.readEnclosingTypeName` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:131` |
147
+ | `CallableIdentityService.readMemberName` | 2 | `CallableIdentityService.readBindingName`, `CallableIdentityService.describeCallbackArgument` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:193` |
148
+ | `WorkspaceService.findProjectDirectories` | 2 | `WorkspaceService.toWorkspaceRelative`, `WorkspaceService.isExcludedFromScan` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:66` |
149
+ | `WorkspaceService.walkImportedProjectClosure` | 2 | `WorkspaceService.resolveOwningProject`, `WorkspaceService.isClosureDestination` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:342` |
150
+ | `FileFilterService.isExcludedByOwningProject` | 2 | `WorkspaceService.resolveOwningProject`, `FileFilterService.some(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:60` |
151
+ | `ProgramService.readPulledInPaths` | 2 | `ProgramService.toRealPath`, `WorkspaceService.toWorkspaceRelative` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:195` |
152
+ | `ProgramService.resolveProjectFiles` | 2 | `ProgramService.buildProgram`, `ProgramService.readPulledInPaths` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:262` |
153
+ | `CallablesService.visit` | 2 | `CallablesService.isCallableDeclaration`, `CallablesService.describe` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:49` |
154
+ | `CallablesService.readOwnedPath` | 2 | `ProgramService.toRealPath`, `WorkspaceService.toWorkspaceRelative` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:164` |
155
+ | `ClassesService.readMemberDeclarations` | 2 | `ClassesService.filter(โ€ฆ)`, `ClassesService.filter(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:148` |
156
+ | `CallSitesService.visit` | 2 | `CallSitesService.isNestedBody`, `CallSitesService.readFunctionArguments` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:62` |
157
+ | `SymbolResolutionService.resolveThroughHierarchy` | 2 | `SymbolResolutionService.readOwner`, `ClassesService.resolveImplementations` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:217` |
158
+ | `SymbolResolutionService.resolve` | 2 | `SymbolResolutionService.readCalleeName`, `SymbolResolutionService.resolveSymbol` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:267` |
159
+ | `EdgesService.readLocation` | 2 | `WorkspaceService.toWorkspaceRelative`, `ProgramService.toRealPath` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:176` |
160
+ | `EdgesService.resolveCallableId` | 2 | `WorkspaceService.toWorkspaceRelative`, `ProgramService.toRealPath` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:202` |
161
+ | `EdgesService.resolveSite` | 2 | `SymbolResolutionService.resolveConstructor`, `SymbolResolutionService.resolve` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:226` |
162
+ | `EdgesService.build` | 2 | `CallSitesService.collect`, `EdgesService.buildSiteEdges` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:251` |
163
+ | `EntriesService.classifyEveryCallable` | 2 | `EntriesService.classify`, `EntriesService.readRules` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:102` |
164
+ | `EntriesService.hasConfiguredDecorator` | 2 | `EntriesService.some(โ€ฆ)`, `EntriesService.readDecoratorNames` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:117` |
165
+ | `EntriesService.rootDeclaredAddresses` | 2 | `EntriesService.listDeclaringConfigurations`, `EntriesService.rootDeclaredAddress` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:262` |
166
+ | `PathsService.buildDeepestPath` | 2 | `PathsService.orderMembers`, `PathsService.buildFrame` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/paths.service.ts:59` |
167
+ | `PathsService.buildFrame` | 2 | `DocumentationService.read`, `SignaturesService.read` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/paths.service.ts:103` |
168
+ | `AddressDepthService.toStack` | 2 | `PathsService.buildFrame`, `AddressDepthService.isLowerBound` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:105` |
169
+ | `AddressDepthService.buildDownwardStacks` | 2 | `AddressDepthService.traverse`, `AddressDepthService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:172` |
170
+ | `AddressDepthService.buildUpwardStacks` | 2 | `AddressDepthService.traverse`, `AddressDepthService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:195` |
171
+ | `ComponentsService.finishFrame` | 2 | `ComponentsService.closeNode`, `ComponentsService.liftLowLink` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:72` |
172
+ | `ComponentsService.step` | 2 | `ComponentsService.finishFrame`, `ComponentsService.visitSuccessor` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:116` |
173
+ | `ComponentsService.visitSuccessor` | 2 | `ComponentsService.openNode`, `ComponentsService.liftLowLink` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:139` |
174
+ | `GraphDepthService.measure` | 2 | `GraphDepthService.combine`, `GraphDepthService.hasUnresolved` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:95` |
175
+ | `GraphService.assemble` | 2 | `GraphService.append`, `GraphService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph.service.ts:44` |
176
+ | `AddressService.toCandidates` | 1 | `AddressService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:137` |
177
+ | `AddressService.map(โ€ฆ)` | 1 | `AddressService.toAddress` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/address.service.ts:223` |
178
+ | `CallableIdentityService.isExported` | 1 | `CallableIdentityService.findAncestor(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:111` |
179
+ | `CallableIdentityService.readEnclosingTypeName` | 1 | `CallableIdentityService.findAncestor(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:139` |
180
+ | `CallableIdentityService.readKind` | 1 | `CallableIdentityService.readBoundKind` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callable-identity.service.ts:152` |
181
+ | `WorkspaceService.findAllProjectDirectories` | 1 | `WorkspaceService.findProjectDirectories` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:44` |
182
+ | `WorkspaceService.isExcludedProject` | 1 | `WorkspaceService.toWorkspaceRelative` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:145` |
183
+ | `WorkspaceService.map(โ€ฆ)` | 1 | `WorkspaceService.toWorkspaceRelative` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:189` |
184
+ | `WorkspaceService.resolveOwningProject` | 1 | `WorkspaceService.isContainedByRoot` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/workspace.service.ts:271` |
185
+ | `FileFilterService.buildFileFilter` | 1 | `FileFilterService.listIgnoredFiles` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:137` |
186
+ | `FileFilterService.isExcluded` | 1 | `FileFilterService.some(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:161` |
187
+ | `FileFilterService.isExcluded` | 1 | `FileFilterService.isExcludedByOwningProject` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/workspace/file-filter.service.ts:206` |
188
+ | `CompilerHostService.resolveModuleCache` | 1 | `CompilerHostService.createModuleResolutionCache(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:40` |
189
+ | `CompilerHostService.createHost` | 1 | `CompilerHostService.resolveModuleCache` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/compiler-host.service.ts:76` |
190
+ | `ProgramService.map(โ€ฆ)` | 1 | `ProgramService.toRealPath` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/program/program.service.ts:133` |
191
+ | `CallablesService.collect` | 1 | `CallablesService.collectFromProgram` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/callables/callables.service.ts:191` |
192
+ | `ExternalService.isExternal` | 1 | `ExternalService.computeVerdict` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/external.service.ts:64` |
193
+ | `ClassesService.filterAssignable` | 1 | `ClassesService.filter(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:86` |
194
+ | `ClassesService.build` | 1 | `ClassesService.indexProgram` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:171` |
195
+ | `ClassesService.flatMap(โ€ฆ)` | 1 | `ClassesService.readMemberDeclarations` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/classes/classes.service.ts:232` |
196
+ | `CallSitesService.readFunctionArguments` | 1 | `CallSitesService.filter(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:42` |
197
+ | `CallSitesService.collect` | 1 | `CallSitesService.visit` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/call-sites.service.ts:54` |
198
+ | `SymbolResolutionService.readBodied` | 1 | `SymbolResolutionService.filter(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:88` |
199
+ | `SymbolResolutionService.filter(โ€ฆ)` | 1 | `SymbolResolutionService.isBodyCarrying` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:91` |
200
+ | `SymbolResolutionService.every(โ€ฆ)` | 1 | `ExternalService.isExternal` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:183` |
201
+ | `SymbolResolutionService.find(โ€ฆ)` | 1 | `SymbolResolutionService.isAbstractMember` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/symbol-resolution.service.ts:203` |
202
+ | `EdgesService.filter(โ€ฆ)` | 1 | `ExternalService.isExternal` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:77` |
203
+ | `EdgesService.map(โ€ฆ)` | 1 | `EdgesService.resolveCallableId` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:80` |
204
+ | `EdgesService.filter(โ€ฆ)` | 1 | `EdgesService.isExcludedCallee` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:89` |
205
+ | `EdgesService.map(โ€ฆ)` | 1 | `EdgesService.resolveCallableId` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:134` |
206
+ | `EdgesService.map(โ€ฆ)` | 1 | `EdgesService.readLocation` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:142` |
207
+ | `EdgesService.isExcludedCallee` | 1 | `EdgesService.some(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/edges/edges.service.ts:162` |
208
+ | `EntriesService.isCommandRunnerMethod` | 1 | `EntriesService.hasConfiguredDecorator` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:135` |
209
+ | `EntriesService.promoteOrphans` | 1 | `EntriesService.readRules` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:171` |
210
+ | `EntriesService.readDecoratorNames` | 1 | `EntriesService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:192` |
211
+ | `EntriesService.rootDeclaredAddress` | 1 | `AddressService.resolve` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:233` |
212
+ | `EntriesService.map(โ€ฆ)` | 1 | `EntriesService.toRules` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/entries/entries.service.ts:320` |
213
+ | `SignaturesService.read` | 1 | `SignaturesService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/signatures/signatures.service.ts:62` |
214
+ | `SignaturesService.map(โ€ฆ)` | 1 | `SignaturesService.readParameter` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/signatures/signatures.service.ts:72` |
215
+ | `AddressDepthService.isLowerBound` | 1 | `AddressDepthService.some(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:71` |
216
+ | `AddressDepthService.step` | 1 | `AddressDepthService.follow` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:79` |
217
+ | `AddressDepthService.traverse` | 1 | `AddressDepthService.step` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:143` |
218
+ | `AddressDepthService.map(โ€ฆ)` | 1 | `AddressDepthService.toStack` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:182` |
219
+ | `AddressDepthService.map(โ€ฆ)` | 1 | `AddressDepthService.toStack` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/address-depth.service.ts:205` |
220
+ | `BreadthService.describeDirectCalls` | 1 | `BreadthService.toReferences` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/breadth.service.ts:59` |
221
+ | `ComponentsService.buildSuccessors` | 1 | `ComponentsService.map(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/components.service.ts:160` |
222
+ | `GraphDepthService.combine` | 1 | `GraphDepthService.foldSuccessors` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:30` |
223
+ | `GraphDepthService.hasUnresolved` | 1 | `GraphDepthService.some(โ€ฆ)` | `packages/ic-suite/callidescope/callidescope-graph/src/modules/graph/graph-depth.service.ts:83` |
224
+
225
+ </details>
226
+ <!-- callidescope:end -->
227
+
228
+ ## ๐Ÿ•ธ๏ธ Codependix
229
+
230
+ Dependency graphs exported by [codependix](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-cli), regenerated by `nx run codebase:codependix:write`.
231
+
232
+ ### Nx Neighborhood
233
+
234
+ <!-- codependix:start name="codependix-nx-projects" -->
235
+ ```mermaid
236
+ graph LR
237
+ callidescope_cli["callidescope-cli"]
238
+ callidescope_configuration["callidescope-configuration"]
239
+ callidescope_core["callidescope-core"]
240
+ callidescope_graph["callidescope-graph"]
241
+ callidescope_nx["callidescope-nx"]
242
+ callidescope_output["callidescope-output"]
243
+ logger["logger"]
244
+ callidescope_cli --> callidescope_graph
245
+ callidescope_graph --> callidescope_configuration
246
+ callidescope_graph --> callidescope_core
247
+ callidescope_graph --> logger
248
+ callidescope_nx --> callidescope_graph
249
+ callidescope_output --> callidescope_graph
250
+ classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
251
+ class callidescope_graph subject
252
+ ```
253
+ <!-- codependix:end name="codependix-nx-projects" -->
254
+
255
+ ### NestJS Module Graph
256
+
257
+ <!-- codependix:start name="codependix-nestjs-modules" -->
258
+ ```mermaid
259
+ flowchart LR
260
+ CallablesModule
261
+ ClassesModule
262
+ DocumentationModule
263
+ EdgesModule
264
+ EntriesModule
265
+ GraphModule
266
+ LoggerModule([LoggerModule])
267
+ ProgramModule
268
+ SignaturesModule
269
+ WorkspaceModule
270
+ CallablesModule --> ProgramModule
271
+ CallablesModule --> WorkspaceModule
272
+ EdgesModule --> CallablesModule
273
+ EdgesModule --> ClassesModule
274
+ EdgesModule --> ProgramModule
275
+ EdgesModule --> WorkspaceModule
276
+ EntriesModule --> CallablesModule
277
+ GraphModule --> DocumentationModule
278
+ GraphModule --> EdgesModule
279
+ GraphModule --> SignaturesModule
280
+ ProgramModule --> WorkspaceModule
281
+ ```
282
+
283
+ _Rounded modules are global: every module can inject them, so their edges are left out._
284
+ <!-- codependix:end name="codependix-nestjs-modules" -->
285
+
286
+ ### File Imports
287
+
288
+ <!-- codependix:start name="codependix-file-imports" -->
289
+ ```mermaid
290
+ graph LR
291
+ file_callidescope_config_ts["callidescope.config.ts"]
292
+ file_codependix_config_ts["codependix.config.ts"]
293
+ file_codometer_config_ts["codometer.config.ts"]
294
+ file_eslint_config_ts["eslint.config.ts"]
295
+ file_src_index_ts["src/index.ts"]
296
+ file_src_modules_callables_address_constants_ts["src/modules/callables/address.constants.ts"]
297
+ file_src_modules_callables_address_service_ts["src/modules/callables/address.service.ts"]
298
+ file_src_modules_callables_address_service_unit_test_ts["src/modules/callables/address.service.unit.test.ts"]
299
+ file_src_modules_callables_address_types_ts["src/modules/callables/address.types.ts"]
300
+ file_src_modules_callables_callable_identity_service_ts["src/modules/callables/callable-identity.service.ts"]
301
+ file_src_modules_callables_callable_identity_service_unit_test_ts["src/modules/callables/callable-identity.service.unit.test.ts"]
302
+ file_src_modules_callables_callables_constants_ts["src/modules/callables/callables.constants.ts"]
303
+ file_src_modules_callables_callables_module_ts["src/modules/callables/callables.module.ts"]
304
+ file_src_modules_callables_callables_service_ts["src/modules/callables/callables.service.ts"]
305
+ file_src_modules_callables_callables_service_unit_test_ts["src/modules/callables/callables.service.unit.test.ts"]
306
+ file_src_modules_callables_callables_types_ts["src/modules/callables/callables.types.ts"]
307
+ file_src_modules_classes_classes_constants_ts["src/modules/classes/classes.constants.ts"]
308
+ file_src_modules_classes_classes_module_ts["src/modules/classes/classes.module.ts"]
309
+ file_src_modules_classes_classes_service_ts["src/modules/classes/classes.service.ts"]
310
+ file_src_modules_classes_classes_service_unit_test_ts["src/modules/classes/classes.service.unit.test.ts"]
311
+ file_src_modules_classes_classes_types_ts["src/modules/classes/classes.types.ts"]
312
+ file_src_modules_classes_external_service_ts["src/modules/classes/external.service.ts"]
313
+ file_src_modules_classes_external_service_unit_test_ts["src/modules/classes/external.service.unit.test.ts"]
314
+ file_src_modules_documentation_documentation_constants_ts["src/modules/documentation/documentation.constants.ts"]
315
+ file_src_modules_documentation_documentation_module_ts["src/modules/documentation/documentation.module.ts"]
316
+ file_src_modules_documentation_documentation_service_ts["src/modules/documentation/documentation.service.ts"]
317
+ file_src_modules_documentation_documentation_service_unit_test_ts["src/modules/documentation/documentation.service.unit.test.ts"]
318
+ file_src_modules_documentation_documentation_types_ts["src/modules/documentation/documentation.types.ts"]
319
+ file_src_modules_edges_call_sites_service_ts["src/modules/edges/call-sites.service.ts"]
320
+ file_src_modules_edges_call_sites_service_unit_test_ts["src/modules/edges/call-sites.service.unit.test.ts"]
321
+ file_src_modules_edges_edges_constants_ts["src/modules/edges/edges.constants.ts"]
322
+ file_src_modules_edges_edges_module_ts["src/modules/edges/edges.module.ts"]
323
+ file_src_modules_edges_edges_service_ts["src/modules/edges/edges.service.ts"]
324
+ file_src_modules_edges_edges_service_unit_test_ts["src/modules/edges/edges.service.unit.test.ts"]
325
+ file_src_modules_edges_edges_types_ts["src/modules/edges/edges.types.ts"]
326
+ file_src_modules_edges_symbol_resolution_service_ts["src/modules/edges/symbol-resolution.service.ts"]
327
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts["src/modules/edges/symbol-resolution.service.unit.test.ts"]
328
+ file_src_modules_entries_entries_constants_ts["src/modules/entries/entries.constants.ts"]
329
+ file_src_modules_entries_entries_module_ts["src/modules/entries/entries.module.ts"]
330
+ file_src_modules_entries_entries_service_ts["src/modules/entries/entries.service.ts"]
331
+ file_src_modules_entries_entries_service_unit_test_ts["src/modules/entries/entries.service.unit.test.ts"]
332
+ file_src_modules_entries_entries_types_ts["src/modules/entries/entries.types.ts"]
333
+ file_src_modules_graph_address_depth_constants_ts["src/modules/graph/address-depth.constants.ts"]
334
+ file_src_modules_graph_address_depth_service_ts["src/modules/graph/address-depth.service.ts"]
335
+ file_src_modules_graph_address_depth_service_unit_test_ts["src/modules/graph/address-depth.service.unit.test.ts"]
336
+ file_src_modules_graph_address_depth_types_ts["src/modules/graph/address-depth.types.ts"]
337
+ file_src_modules_graph_breadth_service_ts["src/modules/graph/breadth.service.ts"]
338
+ file_src_modules_graph_breadth_service_unit_test_ts["src/modules/graph/breadth.service.unit.test.ts"]
339
+ file_src_modules_graph_components_constants_ts["src/modules/graph/components.constants.ts"]
340
+ file_src_modules_graph_components_service_ts["src/modules/graph/components.service.ts"]
341
+ file_src_modules_graph_components_service_unit_test_ts["src/modules/graph/components.service.unit.test.ts"]
342
+ file_src_modules_graph_components_types_ts["src/modules/graph/components.types.ts"]
343
+ file_src_modules_graph_graph_assembly_service_ts["src/modules/graph/graph-assembly.service.ts"]
344
+ file_src_modules_graph_graph_assembly_service_unit_test_ts["src/modules/graph/graph-assembly.service.unit.test.ts"]
345
+ file_src_modules_graph_graph_assembly_types_ts["src/modules/graph/graph-assembly.types.ts"]
346
+ file_src_modules_graph_graph_depth_service_ts["src/modules/graph/graph-depth.service.ts"]
347
+ file_src_modules_graph_graph_depth_service_unit_test_ts["src/modules/graph/graph-depth.service.unit.test.ts"]
348
+ file_src_modules_graph_graph_constants_ts["src/modules/graph/graph.constants.ts"]
349
+ file_src_modules_graph_graph_module_ts["src/modules/graph/graph.module.ts"]
350
+ file_src_modules_graph_graph_service_ts["src/modules/graph/graph.service.ts"]
351
+ file_src_modules_graph_graph_service_unit_test_ts["src/modules/graph/graph.service.unit.test.ts"]
352
+ file_src_modules_graph_graph_types_ts["src/modules/graph/graph.types.ts"]
353
+ file_src_modules_graph_paths_service_ts["src/modules/graph/paths.service.ts"]
354
+ file_src_modules_graph_paths_service_unit_test_ts["src/modules/graph/paths.service.unit.test.ts"]
355
+ file_src_modules_program_compiler_host_service_ts["src/modules/program/compiler-host.service.ts"]
356
+ file_src_modules_program_compiler_host_service_unit_test_ts["src/modules/program/compiler-host.service.unit.test.ts"]
357
+ file_src_modules_program_program_constants_ts["src/modules/program/program.constants.ts"]
358
+ file_src_modules_program_program_module_ts["src/modules/program/program.module.ts"]
359
+ file_src_modules_program_program_service_ts["src/modules/program/program.service.ts"]
360
+ file_src_modules_program_program_service_unit_test_ts["src/modules/program/program.service.unit.test.ts"]
361
+ file_src_modules_program_program_types_ts["src/modules/program/program.types.ts"]
362
+ file_src_modules_signatures_signatures_constants_ts["src/modules/signatures/signatures.constants.ts"]
363
+ file_src_modules_signatures_signatures_module_ts["src/modules/signatures/signatures.module.ts"]
364
+ file_src_modules_signatures_signatures_service_ts["src/modules/signatures/signatures.service.ts"]
365
+ file_src_modules_signatures_signatures_service_unit_test_ts["src/modules/signatures/signatures.service.unit.test.ts"]
366
+ file_src_modules_signatures_signatures_types_ts["src/modules/signatures/signatures.types.ts"]
367
+ file_src_modules_workspace_file_filter_service_ts["src/modules/workspace/file-filter.service.ts"]
368
+ file_src_modules_workspace_file_filter_service_unit_test_ts["src/modules/workspace/file-filter.service.unit.test.ts"]
369
+ file_src_modules_workspace_workspace_constants_ts["src/modules/workspace/workspace.constants.ts"]
370
+ file_src_modules_workspace_workspace_module_ts["src/modules/workspace/workspace.module.ts"]
371
+ file_src_modules_workspace_workspace_service_ts["src/modules/workspace/workspace.service.ts"]
372
+ file_src_modules_workspace_workspace_service_unit_test_ts["src/modules/workspace/workspace.service.unit.test.ts"]
373
+ file_src_modules_workspace_workspace_types_ts["src/modules/workspace/workspace.types.ts"]
374
+ file_testing_mocks_ts["testing/mocks.ts"]
375
+ file_testing_modules_ts["testing/modules.ts"]
376
+ file_testing_programs_ts["testing/programs.ts"]
377
+ file_testing_setup_ts["testing/setup.ts"]
378
+ file_vite_config_ts["vite.config.ts"]
379
+ file_vitest_config_ts["vitest.config.ts"]
380
+ file_src_modules_callables_address_service_ts --> file_src_modules_callables_address_constants_ts
381
+ file_src_modules_callables_address_service_ts --> file_src_modules_callables_address_types_ts
382
+ file_src_modules_callables_address_service_ts --> file_src_modules_callables_callables_types_ts
383
+ file_src_modules_callables_address_service_unit_test_ts --> file_src_modules_callables_address_service_ts
384
+ file_src_modules_callables_address_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
385
+ file_src_modules_callables_address_service_unit_test_ts --> file_testing_mocks_ts
386
+ file_src_modules_callables_address_service_unit_test_ts --> file_testing_modules_ts
387
+ file_src_modules_callables_address_types_ts --> file_src_modules_callables_callables_types_ts
388
+ file_src_modules_callables_callable_identity_service_ts --> file_src_modules_callables_callables_constants_ts
389
+ file_src_modules_callables_callable_identity_service_ts --> file_src_modules_callables_callables_types_ts
390
+ file_src_modules_callables_callable_identity_service_unit_test_ts --> file_src_modules_callables_callable_identity_service_ts
391
+ file_src_modules_callables_callable_identity_service_unit_test_ts --> file_testing_modules_ts
392
+ file_src_modules_callables_callable_identity_service_unit_test_ts --> file_testing_programs_ts
393
+ file_src_modules_callables_callables_module_ts --> file_src_modules_callables_address_service_ts
394
+ file_src_modules_callables_callables_module_ts --> file_src_modules_callables_callable_identity_service_ts
395
+ file_src_modules_callables_callables_module_ts --> file_src_modules_callables_callables_service_ts
396
+ file_src_modules_callables_callables_module_ts --> file_src_modules_program_program_module_ts
397
+ file_src_modules_callables_callables_module_ts --> file_src_modules_workspace_workspace_module_ts
398
+ file_src_modules_callables_callables_service_ts --> file_src_modules_callables_callable_identity_service_ts
399
+ file_src_modules_callables_callables_service_ts --> file_src_modules_callables_callables_types_ts
400
+ file_src_modules_callables_callables_service_ts --> file_src_modules_program_program_service_ts
401
+ file_src_modules_callables_callables_service_ts --> file_src_modules_program_program_types_ts
402
+ file_src_modules_callables_callables_service_ts --> file_src_modules_workspace_workspace_service_ts
403
+ file_src_modules_callables_callables_service_unit_test_ts --> file_src_modules_callables_callables_service_ts
404
+ file_src_modules_callables_callables_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
405
+ file_src_modules_callables_callables_service_unit_test_ts --> file_testing_modules_ts
406
+ file_src_modules_callables_callables_service_unit_test_ts --> file_testing_programs_ts
407
+ file_src_modules_callables_callables_types_ts --> file_src_modules_program_program_types_ts
408
+ file_src_modules_callables_callables_types_ts --> file_src_modules_workspace_workspace_types_ts
409
+ file_src_modules_classes_classes_module_ts --> file_src_modules_classes_classes_service_ts
410
+ file_src_modules_classes_classes_module_ts --> file_src_modules_classes_external_service_ts
411
+ file_src_modules_classes_classes_service_ts --> file_src_modules_classes_classes_constants_ts
412
+ file_src_modules_classes_classes_service_ts --> file_src_modules_classes_classes_types_ts
413
+ file_src_modules_classes_classes_service_ts --> file_src_modules_classes_external_service_ts
414
+ file_src_modules_classes_classes_service_ts --> file_src_modules_program_program_types_ts
415
+ file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_constants_ts
416
+ file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_service_ts
417
+ file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_classes_types_ts
418
+ file_src_modules_classes_classes_service_unit_test_ts --> file_src_modules_classes_external_service_ts
419
+ file_src_modules_classes_classes_service_unit_test_ts --> file_testing_modules_ts
420
+ file_src_modules_classes_classes_service_unit_test_ts --> file_testing_programs_ts
421
+ file_src_modules_classes_classes_types_ts --> file_src_modules_program_program_types_ts
422
+ file_src_modules_classes_external_service_unit_test_ts --> file_src_modules_classes_external_service_ts
423
+ file_src_modules_classes_external_service_unit_test_ts --> file_testing_modules_ts
424
+ file_src_modules_documentation_documentation_module_ts --> file_src_modules_documentation_documentation_service_ts
425
+ file_src_modules_documentation_documentation_service_ts --> file_src_modules_documentation_documentation_constants_ts
426
+ file_src_modules_documentation_documentation_service_ts --> file_src_modules_documentation_documentation_types_ts
427
+ file_src_modules_documentation_documentation_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
428
+ file_src_modules_documentation_documentation_service_unit_test_ts --> file_src_modules_documentation_documentation_types_ts
429
+ file_src_modules_documentation_documentation_service_unit_test_ts --> file_testing_modules_ts
430
+ file_src_modules_documentation_documentation_service_unit_test_ts --> file_testing_programs_ts
431
+ file_src_modules_documentation_documentation_types_ts --> file_src_modules_callables_callables_types_ts
432
+ file_src_modules_edges_call_sites_service_ts --> file_src_modules_callables_callables_types_ts
433
+ file_src_modules_edges_call_sites_service_ts --> file_src_modules_edges_edges_types_ts
434
+ file_src_modules_edges_call_sites_service_unit_test_ts --> file_src_modules_edges_call_sites_service_ts
435
+ file_src_modules_edges_call_sites_service_unit_test_ts --> file_testing_modules_ts
436
+ file_src_modules_edges_call_sites_service_unit_test_ts --> file_testing_programs_ts
437
+ file_src_modules_edges_edges_constants_ts --> file_src_modules_edges_edges_types_ts
438
+ file_src_modules_edges_edges_module_ts --> file_src_modules_callables_callables_module_ts
439
+ file_src_modules_edges_edges_module_ts --> file_src_modules_classes_classes_module_ts
440
+ file_src_modules_edges_edges_module_ts --> file_src_modules_edges_call_sites_service_ts
441
+ file_src_modules_edges_edges_module_ts --> file_src_modules_edges_edges_service_ts
442
+ file_src_modules_edges_edges_module_ts --> file_src_modules_edges_symbol_resolution_service_ts
443
+ file_src_modules_edges_edges_module_ts --> file_src_modules_program_program_module_ts
444
+ file_src_modules_edges_edges_module_ts --> file_src_modules_workspace_workspace_module_ts
445
+ file_src_modules_edges_edges_service_ts --> file_src_modules_callables_callables_types_ts
446
+ file_src_modules_edges_edges_service_ts --> file_src_modules_classes_external_service_ts
447
+ file_src_modules_edges_edges_service_ts --> file_src_modules_edges_call_sites_service_ts
448
+ file_src_modules_edges_edges_service_ts --> file_src_modules_edges_edges_types_ts
449
+ file_src_modules_edges_edges_service_ts --> file_src_modules_edges_symbol_resolution_service_ts
450
+ file_src_modules_edges_edges_service_ts --> file_src_modules_program_program_service_ts
451
+ file_src_modules_edges_edges_service_ts --> file_src_modules_workspace_workspace_service_ts
452
+ file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_classes_classes_constants_ts
453
+ file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_call_sites_service_ts
454
+ file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_edges_service_ts
455
+ file_src_modules_edges_edges_service_unit_test_ts --> file_src_modules_edges_symbol_resolution_service_ts
456
+ file_src_modules_edges_edges_service_unit_test_ts --> file_testing_modules_ts
457
+ file_src_modules_edges_edges_service_unit_test_ts --> file_testing_programs_ts
458
+ file_src_modules_edges_edges_types_ts --> file_src_modules_callables_callables_types_ts
459
+ file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_classes_classes_service_ts
460
+ file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_classes_external_service_ts
461
+ file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_edges_edges_constants_ts
462
+ file_src_modules_edges_symbol_resolution_service_ts --> file_src_modules_edges_edges_types_ts
463
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_classes_classes_service_ts
464
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_classes_external_service_ts
465
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_edges_constants_ts
466
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_edges_types_ts
467
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_src_modules_edges_symbol_resolution_service_ts
468
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_testing_modules_ts
469
+ file_src_modules_edges_symbol_resolution_service_unit_test_ts --> file_testing_programs_ts
470
+ file_src_modules_entries_entries_module_ts --> file_src_modules_callables_callables_module_ts
471
+ file_src_modules_entries_entries_module_ts --> file_src_modules_entries_entries_service_ts
472
+ file_src_modules_entries_entries_service_ts --> file_src_modules_callables_address_service_ts
473
+ file_src_modules_entries_entries_service_ts --> file_src_modules_callables_callables_types_ts
474
+ file_src_modules_entries_entries_service_ts --> file_src_modules_entries_entries_constants_ts
475
+ file_src_modules_entries_entries_service_ts --> file_src_modules_entries_entries_types_ts
476
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_callables_address_service_ts
477
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
478
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_entries_entries_service_ts
479
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_entries_entries_types_ts
480
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
481
+ file_src_modules_entries_entries_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
482
+ file_src_modules_entries_entries_service_unit_test_ts --> file_testing_mocks_ts
483
+ file_src_modules_entries_entries_service_unit_test_ts --> file_testing_modules_ts
484
+ file_src_modules_entries_entries_service_unit_test_ts --> file_testing_programs_ts
485
+ file_src_modules_entries_entries_types_ts --> file_src_modules_callables_address_types_ts
486
+ file_src_modules_entries_entries_types_ts --> file_src_modules_callables_callables_types_ts
487
+ file_src_modules_entries_entries_types_ts --> file_src_modules_graph_graph_types_ts
488
+ file_src_modules_graph_address_depth_service_ts --> file_src_modules_callables_callables_types_ts
489
+ file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_address_depth_constants_ts
490
+ file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_address_depth_types_ts
491
+ file_src_modules_graph_address_depth_service_ts --> file_src_modules_graph_paths_service_ts
492
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
493
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
494
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_address_depth_service_ts
495
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
496
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_graph_paths_service_ts
497
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
498
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_testing_mocks_ts
499
+ file_src_modules_graph_address_depth_service_unit_test_ts --> file_testing_modules_ts
500
+ file_src_modules_graph_address_depth_types_ts --> file_src_modules_callables_callables_types_ts
501
+ file_src_modules_graph_address_depth_types_ts --> file_src_modules_graph_graph_types_ts
502
+ file_src_modules_graph_breadth_service_ts --> file_src_modules_callables_callables_types_ts
503
+ file_src_modules_graph_breadth_service_ts --> file_src_modules_graph_graph_types_ts
504
+ file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_breadth_service_ts
505
+ file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
506
+ file_src_modules_graph_breadth_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
507
+ file_src_modules_graph_breadth_service_unit_test_ts --> file_testing_mocks_ts
508
+ file_src_modules_graph_breadth_service_unit_test_ts --> file_testing_modules_ts
509
+ file_src_modules_graph_components_service_ts --> file_src_modules_graph_components_constants_ts
510
+ file_src_modules_graph_components_service_ts --> file_src_modules_graph_components_types_ts
511
+ file_src_modules_graph_components_service_ts --> file_src_modules_graph_graph_types_ts
512
+ file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_components_service_ts
513
+ file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
514
+ file_src_modules_graph_components_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
515
+ file_src_modules_graph_components_service_unit_test_ts --> file_testing_modules_ts
516
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_edges_edges_service_ts
517
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_breadth_service_ts
518
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_components_service_ts
519
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_assembly_types_ts
520
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_depth_service_ts
521
+ file_src_modules_graph_graph_assembly_service_ts --> file_src_modules_graph_graph_service_ts
522
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_breadth_service_ts
523
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_components_service_ts
524
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_assembly_service_ts
525
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_assembly_types_ts
526
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
527
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
528
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_testing_modules_ts
529
+ file_src_modules_graph_graph_assembly_service_unit_test_ts --> file_testing_programs_ts
530
+ file_src_modules_graph_graph_assembly_types_ts --> file_src_modules_callables_callables_types_ts
531
+ file_src_modules_graph_graph_assembly_types_ts --> file_src_modules_graph_graph_types_ts
532
+ file_src_modules_graph_graph_depth_service_ts --> file_src_modules_graph_graph_types_ts
533
+ file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_components_service_ts
534
+ file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
535
+ file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
536
+ file_src_modules_graph_graph_depth_service_unit_test_ts --> file_src_modules_graph_graph_types_ts
537
+ file_src_modules_graph_graph_depth_service_unit_test_ts --> file_testing_modules_ts
538
+ file_src_modules_graph_graph_module_ts --> file_src_modules_documentation_documentation_module_ts
539
+ file_src_modules_graph_graph_module_ts --> file_src_modules_edges_edges_module_ts
540
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_address_depth_service_ts
541
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_breadth_service_ts
542
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_components_service_ts
543
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_assembly_service_ts
544
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_depth_service_ts
545
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_graph_service_ts
546
+ file_src_modules_graph_graph_module_ts --> file_src_modules_graph_paths_service_ts
547
+ file_src_modules_graph_graph_module_ts --> file_src_modules_signatures_signatures_module_ts
548
+ file_src_modules_graph_graph_service_ts --> file_src_modules_edges_edges_types_ts
549
+ file_src_modules_graph_graph_service_ts --> file_src_modules_graph_graph_types_ts
550
+ file_src_modules_graph_graph_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
551
+ file_src_modules_graph_graph_service_unit_test_ts --> file_testing_modules_ts
552
+ file_src_modules_graph_paths_service_ts --> file_src_modules_callables_callables_types_ts
553
+ file_src_modules_graph_paths_service_ts --> file_src_modules_documentation_documentation_service_ts
554
+ file_src_modules_graph_paths_service_ts --> file_src_modules_graph_graph_types_ts
555
+ file_src_modules_graph_paths_service_ts --> file_src_modules_signatures_signatures_service_ts
556
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_callables_callables_types_ts
557
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_documentation_documentation_service_ts
558
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_components_service_ts
559
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_graph_depth_service_ts
560
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_graph_service_ts
561
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_graph_paths_service_ts
562
+ file_src_modules_graph_paths_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
563
+ file_src_modules_graph_paths_service_unit_test_ts --> file_testing_mocks_ts
564
+ file_src_modules_graph_paths_service_unit_test_ts --> file_testing_modules_ts
565
+ file_src_modules_program_compiler_host_service_unit_test_ts --> file_src_modules_program_compiler_host_service_ts
566
+ file_src_modules_program_compiler_host_service_unit_test_ts --> file_testing_modules_ts
567
+ file_src_modules_program_program_module_ts --> file_src_modules_program_compiler_host_service_ts
568
+ file_src_modules_program_program_module_ts --> file_src_modules_program_program_service_ts
569
+ file_src_modules_program_program_module_ts --> file_src_modules_workspace_workspace_module_ts
570
+ file_src_modules_program_program_service_ts --> file_src_modules_program_compiler_host_service_ts
571
+ file_src_modules_program_program_service_ts --> file_src_modules_program_program_constants_ts
572
+ file_src_modules_program_program_service_ts --> file_src_modules_program_program_types_ts
573
+ file_src_modules_program_program_service_ts --> file_src_modules_workspace_workspace_service_ts
574
+ file_src_modules_program_program_service_ts --> file_src_modules_workspace_workspace_types_ts
575
+ file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_compiler_host_service_ts
576
+ file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_program_constants_ts
577
+ file_src_modules_program_program_service_unit_test_ts --> file_src_modules_program_program_service_ts
578
+ file_src_modules_program_program_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
579
+ file_src_modules_program_program_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
580
+ file_src_modules_program_program_service_unit_test_ts --> file_testing_modules_ts
581
+ file_src_modules_program_program_types_ts --> file_src_modules_workspace_workspace_types_ts
582
+ file_src_modules_signatures_signatures_module_ts --> file_src_modules_signatures_signatures_service_ts
583
+ file_src_modules_signatures_signatures_service_ts --> file_src_modules_callables_callables_types_ts
584
+ file_src_modules_signatures_signatures_service_ts --> file_src_modules_signatures_signatures_constants_ts
585
+ file_src_modules_signatures_signatures_service_ts --> file_src_modules_signatures_signatures_types_ts
586
+ file_src_modules_signatures_signatures_service_unit_test_ts --> file_src_modules_signatures_signatures_service_ts
587
+ file_src_modules_signatures_signatures_service_unit_test_ts --> file_src_modules_signatures_signatures_types_ts
588
+ file_src_modules_signatures_signatures_service_unit_test_ts --> file_testing_modules_ts
589
+ file_src_modules_signatures_signatures_service_unit_test_ts --> file_testing_programs_ts
590
+ file_src_modules_signatures_signatures_types_ts --> file_src_modules_callables_callables_types_ts
591
+ file_src_modules_workspace_file_filter_service_ts --> file_src_modules_workspace_workspace_service_ts
592
+ file_src_modules_workspace_file_filter_service_ts --> file_src_modules_workspace_workspace_types_ts
593
+ file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_file_filter_service_ts
594
+ file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
595
+ file_src_modules_workspace_file_filter_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
596
+ file_src_modules_workspace_file_filter_service_unit_test_ts --> file_testing_modules_ts
597
+ file_src_modules_workspace_workspace_module_ts --> file_src_modules_workspace_file_filter_service_ts
598
+ file_src_modules_workspace_workspace_module_ts --> file_src_modules_workspace_workspace_service_ts
599
+ file_src_modules_workspace_workspace_service_ts --> file_src_modules_program_program_constants_ts
600
+ file_src_modules_workspace_workspace_service_ts --> file_src_modules_workspace_workspace_constants_ts
601
+ file_src_modules_workspace_workspace_service_ts --> file_src_modules_workspace_workspace_types_ts
602
+ file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_program_program_constants_ts
603
+ file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_workspace_workspace_service_ts
604
+ file_src_modules_workspace_workspace_service_unit_test_ts --> file_src_modules_workspace_workspace_types_ts
605
+ file_src_modules_workspace_workspace_service_unit_test_ts --> file_testing_modules_ts
606
+ file_testing_mocks_ts --> file_src_modules_callables_callables_types_ts
607
+ file_testing_modules_ts --> file_src_modules_callables_callables_module_ts
608
+ file_testing_modules_ts --> file_src_modules_classes_classes_module_ts
609
+ file_testing_modules_ts --> file_src_modules_documentation_documentation_module_ts
610
+ file_testing_modules_ts --> file_src_modules_edges_edges_module_ts
611
+ file_testing_modules_ts --> file_src_modules_entries_entries_module_ts
612
+ file_testing_modules_ts --> file_src_modules_graph_graph_module_ts
613
+ file_testing_modules_ts --> file_src_modules_program_program_module_ts
614
+ file_testing_modules_ts --> file_src_modules_signatures_signatures_module_ts
615
+ file_testing_modules_ts --> file_src_modules_workspace_workspace_module_ts
616
+ file_testing_programs_ts --> file_src_modules_callables_callable_identity_service_ts
617
+ file_testing_programs_ts --> file_src_modules_callables_callables_service_ts
618
+ file_testing_programs_ts --> file_src_modules_classes_classes_service_ts
619
+ file_testing_programs_ts --> file_src_modules_classes_external_service_ts
620
+ file_testing_programs_ts --> file_src_modules_edges_call_sites_service_ts
621
+ file_testing_programs_ts --> file_src_modules_edges_edges_service_ts
622
+ file_testing_programs_ts --> file_src_modules_edges_symbol_resolution_service_ts
623
+ file_testing_programs_ts --> file_src_modules_program_compiler_host_service_ts
624
+ file_testing_programs_ts --> file_src_modules_program_program_service_ts
625
+ file_testing_programs_ts --> file_src_modules_program_program_types_ts
626
+ file_testing_programs_ts --> file_src_modules_workspace_workspace_service_ts
627
+ ```
628
+ <!-- codependix:end name="codependix-file-imports" -->
629
+
630
+ <!-- codometer:start -->
631
+
632
+ ## โฒ๏ธ Codometer
633
+
634
+ ### Project
635
+
636
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-12163-22c55e?style=flat-square)
637
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-391.57_kB-6b7280?style=flat-square)
638
+ ![Folders](https://img.shields.io/badge/Folders-12-4a4a4a?style=flat-square)
639
+ ![Source Files](https://img.shields.io/badge/Source_Files-89-3178c6?style=flat-square)
640
+
641
+ ### Measured Targets
642
+
643
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-14.22_kB_gzip-6b7280?style=flat-square)
644
+
645
+ ### TypeScript
646
+
647
+ ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-89-3178c6?style=flat-square)
648
+ ![Interfaces](https://img.shields.io/badge/Interfaces-51-0ea5e9?style=flat-square)
649
+ ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-1-0369a1?style=flat-square)
650
+ ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
651
+ ![Decorators](https://img.shields.io/badge/Decorators-31-db2777?style=flat-square)
652
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-305-6366f1?style=flat-square)
653
+ ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
654
+
655
+ ### JavaScript
656
+
657
+ ![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-0-f7df1e?style=flat-square)
658
+ ![Test Files](https://img.shields.io/badge/Test_Files-22-10b981?style=flat-square)
659
+ ![External Packages](https://img.shields.io/badge/External_Packages-14-8b5cf6?style=flat-square)
660
+ ![Classes](https://img.shields.io/badge/Classes-32-7c3aed?style=flat-square)
661
+ ![Functions](https://img.shields.io/badge/Functions-531-16a34a?style=flat-square)
662
+ ![Methods](https://img.shields.io/badge/Methods-184-15803d?style=flat-square)
663
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-651-4ade80?style=flat-square)
664
+ ![Async Functions](https://img.shields.io/badge/Async_Functions-64-059669?style=flat-square)
665
+ ![Constants](https://img.shields.io/badge/Constants-742-dc2626?style=flat-square)
666
+ ![Imports](https://img.shields.io/badge/Imports-444-0284c7?style=flat-square)
667
+ ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-124-ea580c?style=flat-square)
668
+ ![Comments](https://img.shields.io/badge/Comments-583-64748b?style=flat-square)
669
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-1270-475569?style=flat-square)
670
+ ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)
671
+
672
+ ### Python
673
+
674
+ ![Python Files](https://img.shields.io/badge/Python_Files-0-3776ab?style=flat-square)
675
+ ![Python Lines](https://img.shields.io/badge/Python_Lines-0-4b8bbe?style=flat-square)
676
+ ![Python Classes](https://img.shields.io/badge/Python_Classes-0-7c3aed?style=flat-square)
677
+ ![Python Functions](https://img.shields.io/badge/Python_Functions-0-16a34a?style=flat-square)
678
+ ![Python Protocols](https://img.shields.io/badge/Python_Protocols-0-0ea5e9?style=flat-square)
679
+ ![Python Constants](https://img.shields.io/badge/Python_Constants-0-dc2626?style=flat-square)
680
+ ![Python Imports](https://img.shields.io/badge/Python_Imports-0-0284c7?style=flat-square)
681
+ ![Python Decorators](https://img.shields.io/badge/Python_Decorators-0-db2777?style=flat-square)
682
+ ![Docstrings](https://img.shields.io/badge/Docstrings-0-6366f1?style=flat-square)
683
+ ![Docstring Lines](https://img.shields.io/badge/Docstring_Lines-0-818cf8?style=flat-square)
684
+ ![Python Comments](https://img.shields.io/badge/Python_Comments-0-64748b?style=flat-square)
685
+ ![Python Comment Lines](https://img.shields.io/badge/Python_Comment_Lines-0-475569?style=flat-square)
686
+
687
+ ### JSON
688
+
689
+ ![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square)
690
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-170-ca8a04?style=flat-square)
691
+ ![JSON Objects](https://img.shields.io/badge/JSON_Objects-39-7c3aed?style=flat-square)
692
+ ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-13-8b5cf6?style=flat-square)
693
+ ![JSON Properties](https://img.shields.io/badge/JSON_Properties-106-0284c7?style=flat-square)
694
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-93-16a34a?style=flat-square)
695
+ ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square)
696
+ ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-7-0ea5e9?style=flat-square)
697
+ ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
698
+ ![JSON Items](https://img.shields.io/badge/JSON_Items-43-475569?style=flat-square)
699
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-153-dc2626?style=flat-square)
700
+ ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-5-ea580c?style=flat-square)
701
+
702
+ ### YAML
703
+
704
+ ![YAML Files](https://img.shields.io/badge/YAML_Files-0-cb171e?style=flat-square)
705
+ ![YAML Lines](https://img.shields.io/badge/YAML_Lines-0-e34c26?style=flat-square)
706
+ ![YAML Documents](https://img.shields.io/badge/YAML_Documents-0-f97316?style=flat-square)
707
+ ![YAML Mappings](https://img.shields.io/badge/YAML_Mappings-0-7c3aed?style=flat-square)
708
+ ![YAML Sequences](https://img.shields.io/badge/YAML_Sequences-0-8b5cf6?style=flat-square)
709
+ ![YAML Keys](https://img.shields.io/badge/YAML_Keys-0-0284c7?style=flat-square)
710
+ ![YAML Scalars](https://img.shields.io/badge/YAML_Scalars-0-16a34a?style=flat-square)
711
+ ![YAML Anchors](https://img.shields.io/badge/YAML_Anchors-0-059669?style=flat-square)
712
+ ![YAML Aliases](https://img.shields.io/badge/YAML_Aliases-0-10b981?style=flat-square)
713
+ ![YAML Comments](https://img.shields.io/badge/YAML_Comments-0-64748b?style=flat-square)
714
+ ![YAML Max Depth](https://img.shields.io/badge/YAML_Max_Depth-0-ea580c?style=flat-square)
715
+
716
+ ### TOML
717
+
718
+ ![TOML Files](https://img.shields.io/badge/TOML_Files-0-9c4221?style=flat-square)
719
+ ![TOML Lines](https://img.shields.io/badge/TOML_Lines-0-b45309?style=flat-square)
720
+ ![TOML Tables](https://img.shields.io/badge/TOML_Tables-0-7c3aed?style=flat-square)
721
+ ![TOML Array Tables](https://img.shields.io/badge/TOML_Array_Tables-0-8b5cf6?style=flat-square)
722
+ ![TOML Keys](https://img.shields.io/badge/TOML_Keys-0-0284c7?style=flat-square)
723
+ ![TOML Arrays](https://img.shields.io/badge/TOML_Arrays-0-16a34a?style=flat-square)
724
+ ![TOML Comments](https://img.shields.io/badge/TOML_Comments-0-64748b?style=flat-square)
725
+
726
+ ### Shell
727
+
728
+ ![Shell Files](https://img.shields.io/badge/Shell_Files-0-89e051?style=flat-square)
729
+ ![Shell Lines](https://img.shields.io/badge/Shell_Lines-0-4eaa25?style=flat-square)
730
+ ![Shell Functions](https://img.shields.io/badge/Shell_Functions-0-16a34a?style=flat-square)
731
+ ![Shell Variables](https://img.shields.io/badge/Shell_Variables-0-0284c7?style=flat-square)
732
+ ![Shell Exports](https://img.shields.io/badge/Shell_Exports-0-ea580c?style=flat-square)
733
+ ![Shell Conditionals](https://img.shields.io/badge/Shell_Conditionals-0-7c3aed?style=flat-square)
734
+ ![Shell Loops](https://img.shields.io/badge/Shell_Loops-0-8b5cf6?style=flat-square)
735
+ ![Shell Pipelines](https://img.shields.io/badge/Shell_Pipelines-0-059669?style=flat-square)
736
+ ![Shebangs](https://img.shields.io/badge/Shebangs-0-6b7280?style=flat-square)
737
+ ![Shell Comments](https://img.shields.io/badge/Shell_Comments-0-64748b?style=flat-square)
738
+ ![Shell Comment Lines](https://img.shields.io/badge/Shell_Comment_Lines-0-475569?style=flat-square)
739
+
740
+ ### SQL
741
+
742
+ ![SQL Files](https://img.shields.io/badge/SQL_Files-0-e38c00?style=flat-square)
743
+ ![SQL Lines](https://img.shields.io/badge/SQL_Lines-0-f29111?style=flat-square)
744
+ ![SQL Statements](https://img.shields.io/badge/SQL_Statements-0-7c3aed?style=flat-square)
745
+ ![SQL Selects](https://img.shields.io/badge/SQL_Selects-0-16a34a?style=flat-square)
746
+ ![SQL Inserts](https://img.shields.io/badge/SQL_Inserts-0-22c55e?style=flat-square)
747
+ ![SQL Updates](https://img.shields.io/badge/SQL_Updates-0-0ea5e9?style=flat-square)
748
+ ![SQL Deletes](https://img.shields.io/badge/SQL_Deletes-0-dc2626?style=flat-square)
749
+ ![SQL Creates](https://img.shields.io/badge/SQL_Creates-0-0284c7?style=flat-square)
750
+ ![SQL Joins](https://img.shields.io/badge/SQL_Joins-0-8b5cf6?style=flat-square)
751
+ ![SQL CTEs](https://img.shields.io/badge/SQL_CTEs-0-059669?style=flat-square)
752
+ ![SQL Comments](https://img.shields.io/badge/SQL_Comments-0-64748b?style=flat-square)
753
+
754
+ ### HCL
755
+
756
+ ![HCL Files](https://img.shields.io/badge/HCL_Files-0-844fba?style=flat-square)
757
+ ![HCL Lines](https://img.shields.io/badge/HCL_Lines-0-a78bfa?style=flat-square)
758
+ ![HCL Blocks](https://img.shields.io/badge/HCL_Blocks-0-7c3aed?style=flat-square)
759
+ ![HCL Resources](https://img.shields.io/badge/HCL_Resources-0-0284c7?style=flat-square)
760
+ ![HCL Variables](https://img.shields.io/badge/HCL_Variables-0-16a34a?style=flat-square)
761
+ ![HCL Outputs](https://img.shields.io/badge/HCL_Outputs-0-059669?style=flat-square)
762
+ ![HCL Attributes](https://img.shields.io/badge/HCL_Attributes-0-0ea5e9?style=flat-square)
763
+ ![HCL Interpolations](https://img.shields.io/badge/HCL_Interpolations-0-db2777?style=flat-square)
764
+ ![HCL Comments](https://img.shields.io/badge/HCL_Comments-0-64748b?style=flat-square)
765
+
766
+ ### CSS
767
+
768
+ ![CSS Files](https://img.shields.io/badge/CSS_Files-0-264de4?style=flat-square)
769
+ ![CSS Lines](https://img.shields.io/badge/CSS_Lines-0-2965f1?style=flat-square)
770
+ ![CSS Rules](https://img.shields.io/badge/CSS_Rules-0-7c3aed?style=flat-square)
771
+ ![CSS Selectors](https://img.shields.io/badge/CSS_Selectors-0-8b5cf6?style=flat-square)
772
+ ![CSS Declarations](https://img.shields.io/badge/CSS_Declarations-0-0284c7?style=flat-square)
773
+ ![CSS At Rules](https://img.shields.io/badge/CSS_At_Rules-0-f97316?style=flat-square)
774
+ ![CSS Media Queries](https://img.shields.io/badge/CSS_Media_Queries-0-ea580c?style=flat-square)
775
+ ![CSS Custom Properties](https://img.shields.io/badge/CSS_Custom_Properties-0-16a34a?style=flat-square)
776
+ ![CSS Comments](https://img.shields.io/badge/CSS_Comments-0-64748b?style=flat-square)
777
+
778
+ ### Conventions
779
+
780
+ ![Module Files](https://img.shields.io/badge/Module_Files-9-7c3aed?style=flat-square)
781
+ ![Service Files](https://img.shields.io/badge/Service_Files-22-0284c7?style=flat-square)
782
+ ![Command Files](https://img.shields.io/badge/Command_Files-0-16a34a?style=flat-square)
783
+ ![Constants Files](https://img.shields.io/badge/Constants_Files-12-ea580c?style=flat-square)
784
+ ![Types Files](https://img.shields.io/badge/Types_Files-13-db2777?style=flat-square)
785
+ ![Utilities Files](https://img.shields.io/badge/Utilities_Files-0-0ea5e9?style=flat-square)
786
+ ![TypeORM Entities](https://img.shields.io/badge/TypeORM_Entities-0-059669?style=flat-square)
787
+ ![Unit Tests](https://img.shields.io/badge/Unit_Tests-22-ca8a04?style=flat-square)
788
+ ![Integration Tests](https://img.shields.io/badge/Integration_Tests-0-7c3aed?style=flat-square)
789
+ ![End To End Tests](https://img.shields.io/badge/End_To_End_Tests-0-0284c7?style=flat-square)
790
+ ![CSS Comment Budget](https://img.shields.io/badge/CSS_Comment_Budget-0-16a34a?style=flat-square)
791
+ ![HCL Comment Budget](https://img.shields.io/badge/HCL_Comment_Budget-0-ea580c?style=flat-square)
792
+ ![Python Comment Budget](https://img.shields.io/badge/Python_Comment_Budget-0-db2777?style=flat-square)
793
+ ![SQL Comment Budget](https://img.shields.io/badge/SQL_Comment_Budget-0-0ea5e9?style=flat-square)
794
+ ![TOML Comment Budget](https://img.shields.io/badge/TOML_Comment_Budget-0-059669?style=flat-square)
795
+ ![TypeScript Comment Budget](https://img.shields.io/badge/TypeScript_Comment_Budget-0-ca8a04?style=flat-square)
796
+ ![YAML Comment Budget](https://img.shields.io/badge/YAML_Comment_Budget-0-7c3aed?style=flat-square)
797
+ ![Shell Comment Budget](https://img.shields.io/badge/Shell_Comment_Budget-0-0284c7?style=flat-square)
798
+
799
+ ### Jupyter
800
+
801
+ ![Notebooks](https://img.shields.io/badge/Notebooks-0-f37626?style=flat-square)
802
+ ![Notebook Cells](https://img.shields.io/badge/Notebook_Cells-0-e8a33d?style=flat-square)
803
+ ![Code Cells](https://img.shields.io/badge/Code_Cells-0-3776ab?style=flat-square)
804
+ ![Markdown Cells](https://img.shields.io/badge/Markdown_Cells-0-083fa1?style=flat-square)
805
+ ![Raw Cells](https://img.shields.io/badge/Raw_Cells-0-9ca3af?style=flat-square)
806
+ ![Executed Cells](https://img.shields.io/badge/Executed_Cells-0-16a34a?style=flat-square)
807
+ ![Cell Outputs](https://img.shields.io/badge/Cell_Outputs-0-059669?style=flat-square)
808
+ ![Notebook Code Lines](https://img.shields.io/badge/Notebook_Code_Lines-0-4b8bbe?style=flat-square)
809
+ ![Notebook Classes](https://img.shields.io/badge/Notebook_Classes-0-7c3aed?style=flat-square)
810
+ ![Notebook Functions](https://img.shields.io/badge/Notebook_Functions-0-22c55e?style=flat-square)
811
+ ![Notebook Imports](https://img.shields.io/badge/Notebook_Imports-0-0284c7?style=flat-square)
812
+ ![Notebook Decorators](https://img.shields.io/badge/Notebook_Decorators-0-db2777?style=flat-square)
813
+ ![Notebook Prose Lines](https://img.shields.io/badge/Notebook_Prose_Lines-0-1f6feb?style=flat-square)
814
+ ![Notebook Headings](https://img.shields.io/badge/Notebook_Headings-0-a78bfa?style=flat-square)
815
+ ![Notebook Links](https://img.shields.io/badge/Notebook_Links-0-10b981?style=flat-square)
816
+ ![Notebook Images](https://img.shields.io/badge/Notebook_Images-0-34d399?style=flat-square)
817
+ ![Notebook Code Blocks](https://img.shields.io/badge/Notebook_Code_Blocks-0-dc2626?style=flat-square)
818
+ ![Notebook Properties](https://img.shields.io/badge/Notebook_Properties-0-ca8a04?style=flat-square)
819
+ ![Notebook Nodes](https://img.shields.io/badge/Notebook_Nodes-0-a16207?style=flat-square)
820
+ ![Notebook Max Depth](https://img.shields.io/badge/Notebook_Max_Depth-0-ea580c?style=flat-square)
821
+
822
+ ### Markdown
823
+
824
+ ![Markdown Files](https://img.shields.io/badge/Markdown_Files-1-083fa1?style=flat-square)
825
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-222-1f6feb?style=flat-square)
826
+ ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
827
+ ![H2](https://img.shields.io/badge/H2-7-8b5cf6?style=flat-square)
828
+ ![H3](https://img.shields.io/badge/H3-12-a78bfa?style=flat-square)
829
+ ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
830
+ ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
831
+ ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
832
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-45-64748b?style=flat-square)
833
+ ![Lists](https://img.shields.io/badge/Lists-6-16a34a?style=flat-square)
834
+ ![List Items](https://img.shields.io/badge/List_Items-25-22c55e?style=flat-square)
835
+ ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
836
+ ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
837
+ ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
838
+ ![Links](https://img.shields.io/badge/Links-9-059669?style=flat-square)
839
+ ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
840
+ ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
841
+ ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
842
+ ![Block Quotes](https://img.shields.io/badge/Block_Quotes-0-ca8a04?style=flat-square)
843
+ ![Thematic Breaks](https://img.shields.io/badge/Thematic_Breaks-0-a16207?style=flat-square)
844
+ <!-- codometer:end -->