@codependix/file-imports 0.0.0-stage β†’ 0.0.4

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/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## 0.0.4 (2026-10-06)
2
+
3
+ ### πŸ’… Refactors
4
+
5
+ - **ic-suite:** ♻️ rename @codebase/logger to @codebase/logging ([#1208](https://github.com/organizzolini/codebase/pull/1208))
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jimmy Paolini
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,470 @@
1
- # Temporary Holding Version
1
+ # πŸ•ΈοΈ Codependix File Imports
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ [![npm](https://img.shields.io/npm/v/@codependix/file-imports?logo=npm&label=npm)](https://www.npmjs.com/package/@codependix/file-imports)
4
+
5
+ **TypeScript and JavaScript file-level import graph extraction and circularity detection for Codependix.**
6
+
7
+ ## Test
8
+
9
+ ```bash
10
+ nx run codependix-file-imports:vitest
11
+ ```
12
+
13
+ ## πŸ•ΈοΈ Codependix
14
+
15
+ 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`.
16
+
17
+ ### Nx Neighborhood
18
+
19
+ <!-- codependix:start name="codependix-nx-projects" -->
20
+ ```mermaid
21
+ graph LR
22
+ codependix_boundaries["codependix-boundaries"]
23
+ codependix_examples["codependix-examples"]
24
+ codependix_file_imports["codependix-file-imports"]
25
+ codependix_output["codependix-output"]
26
+ codependix_boundaries --> codependix_file_imports
27
+ codependix_examples --> codependix_file_imports
28
+ codependix_output --> codependix_file_imports
29
+ classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
30
+ class codependix_file_imports subject
31
+ ```
32
+ <!-- codependix:end name="codependix-nx-projects" -->
33
+
34
+ ### NestJS Module Graph
35
+
36
+ <!-- codependix:start name="codependix-nestjs-modules" -->
37
+ ```mermaid
38
+ flowchart LR
39
+ FileImportsWorkspaceGraphModule
40
+ PythonModule
41
+ TypescriptModule
42
+ ```
43
+ <!-- codependix:end name="codependix-nestjs-modules" -->
44
+
45
+ ### File Imports
46
+
47
+ <!-- codependix:start name="codependix-file-imports" -->
48
+ ```mermaid
49
+ graph LR
50
+ file_callidescope_config_ts["callidescope.config.ts"]
51
+ file_codependix_config_ts["codependix.config.ts"]
52
+ file_codometer_config_ts["codometer.config.ts"]
53
+ file_eslint_config_ts["eslint.config.ts"]
54
+ file_src_index_ts["src/index.ts"]
55
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_constants_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.constants.ts"]
56
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.module.ts"]
57
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_unit_test_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.module.unit.test.ts"]
58
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts"]
59
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_unit_test_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.unit.test.ts"]
60
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_types_ts["src/modules/file-imports-workspace-graph/file-imports-workspace-graph.types.ts"]
61
+ file_src_modules_python_python_import_graph_service_ts["src/modules/python/python-import-graph.service.ts"]
62
+ file_src_modules_python_python_import_graph_service_unit_test_ts["src/modules/python/python-import-graph.service.unit.test.ts"]
63
+ file_src_modules_python_python_import_parser_constants_ts["src/modules/python/python-import-parser.constants.ts"]
64
+ file_src_modules_python_python_import_parser_service_ts["src/modules/python/python-import-parser.service.ts"]
65
+ file_src_modules_python_python_import_parser_service_unit_test_ts["src/modules/python/python-import-parser.service.unit.test.ts"]
66
+ file_src_modules_python_python_import_parser_types_ts["src/modules/python/python-import-parser.types.ts"]
67
+ file_src_modules_python_python_project_service_ts["src/modules/python/python-project.service.ts"]
68
+ file_src_modules_python_python_project_service_unit_test_ts["src/modules/python/python-project.service.unit.test.ts"]
69
+ file_src_modules_python_python_constants_ts["src/modules/python/python.constants.ts"]
70
+ file_src_modules_python_python_module_ts["src/modules/python/python.module.ts"]
71
+ file_src_modules_python_python_module_unit_test_ts["src/modules/python/python.module.unit.test.ts"]
72
+ file_src_modules_python_python_service_ts["src/modules/python/python.service.ts"]
73
+ file_src_modules_python_python_service_unit_test_ts["src/modules/python/python.service.unit.test.ts"]
74
+ file_src_modules_python_python_types_ts["src/modules/python/python.types.ts"]
75
+ file_src_modules_typescript_typescript_import_graph_service_ts["src/modules/typescript/typescript-import-graph.service.ts"]
76
+ file_src_modules_typescript_typescript_import_graph_service_unit_test_ts["src/modules/typescript/typescript-import-graph.service.unit.test.ts"]
77
+ file_src_modules_typescript_typescript_project_service_ts["src/modules/typescript/typescript-project.service.ts"]
78
+ file_src_modules_typescript_typescript_project_service_unit_test_ts["src/modules/typescript/typescript-project.service.unit.test.ts"]
79
+ file_src_modules_typescript_typescript_constants_ts["src/modules/typescript/typescript.constants.ts"]
80
+ file_src_modules_typescript_typescript_module_ts["src/modules/typescript/typescript.module.ts"]
81
+ file_src_modules_typescript_typescript_module_unit_test_ts["src/modules/typescript/typescript.module.unit.test.ts"]
82
+ file_src_modules_typescript_typescript_service_ts["src/modules/typescript/typescript.service.ts"]
83
+ file_src_modules_typescript_typescript_service_unit_test_ts["src/modules/typescript/typescript.service.unit.test.ts"]
84
+ file_src_modules_typescript_typescript_types_ts["src/modules/typescript/typescript.types.ts"]
85
+ file_testing_mocks_ts["testing/mocks.ts"]
86
+ file_testing_programs_ts["testing/programs.ts"]
87
+ file_testing_setup_ts["testing/setup.ts"]
88
+ file_vite_config_ts["vite.config.ts"]
89
+ file_vitest_config_ts["vitest.config.ts"]
90
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts
91
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_unit_test_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_ts
92
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_module_unit_test_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts
93
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_constants_ts
94
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_types_ts
95
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts --> file_src_modules_python_python_types_ts
96
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts --> file_src_modules_typescript_typescript_types_ts
97
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_unit_test_ts --> file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_ts
98
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_unit_test_ts --> file_src_modules_python_python_types_ts
99
+ file_src_modules_file_imports_workspace_graph_file_imports_workspace_graph_service_unit_test_ts --> file_src_modules_typescript_typescript_types_ts
100
+ file_src_modules_python_python_import_graph_service_ts --> file_src_modules_python_python_import_parser_service_ts
101
+ file_src_modules_python_python_import_graph_service_ts --> file_src_modules_python_python_import_parser_types_ts
102
+ file_src_modules_python_python_import_graph_service_ts --> file_src_modules_python_python_project_service_ts
103
+ file_src_modules_python_python_import_graph_service_ts --> file_src_modules_python_python_constants_ts
104
+ file_src_modules_python_python_import_graph_service_ts --> file_src_modules_python_python_types_ts
105
+ file_src_modules_python_python_import_graph_service_unit_test_ts --> file_src_modules_python_python_import_graph_service_ts
106
+ file_src_modules_python_python_import_graph_service_unit_test_ts --> file_src_modules_python_python_import_parser_service_ts
107
+ file_src_modules_python_python_import_graph_service_unit_test_ts --> file_src_modules_python_python_project_service_ts
108
+ file_src_modules_python_python_import_graph_service_unit_test_ts --> file_src_modules_python_python_constants_ts
109
+ file_src_modules_python_python_import_graph_service_unit_test_ts --> file_src_modules_python_python_types_ts
110
+ file_src_modules_python_python_import_parser_service_ts --> file_src_modules_python_python_import_parser_constants_ts
111
+ file_src_modules_python_python_import_parser_service_ts --> file_src_modules_python_python_import_parser_types_ts
112
+ file_src_modules_python_python_import_parser_service_unit_test_ts --> file_src_modules_python_python_import_parser_service_ts
113
+ file_src_modules_python_python_project_service_ts --> file_src_modules_python_python_constants_ts
114
+ file_src_modules_python_python_project_service_ts --> file_src_modules_python_python_types_ts
115
+ file_src_modules_python_python_project_service_unit_test_ts --> file_src_modules_python_python_project_service_ts
116
+ file_src_modules_python_python_module_ts --> file_src_modules_python_python_import_graph_service_ts
117
+ file_src_modules_python_python_module_ts --> file_src_modules_python_python_import_parser_service_ts
118
+ file_src_modules_python_python_module_ts --> file_src_modules_python_python_project_service_ts
119
+ file_src_modules_python_python_module_ts --> file_src_modules_python_python_service_ts
120
+ file_src_modules_python_python_module_unit_test_ts --> file_src_modules_python_python_module_ts
121
+ file_src_modules_python_python_module_unit_test_ts --> file_src_modules_python_python_service_ts
122
+ file_src_modules_python_python_service_ts --> file_src_modules_python_python_import_graph_service_ts
123
+ file_src_modules_python_python_service_ts --> file_src_modules_python_python_project_service_ts
124
+ file_src_modules_python_python_service_ts --> file_src_modules_python_python_types_ts
125
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_import_graph_service_ts
126
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_project_service_ts
127
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_service_ts
128
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_types_ts
129
+ file_src_modules_typescript_typescript_import_graph_service_ts --> file_src_modules_typescript_typescript_project_service_ts
130
+ file_src_modules_typescript_typescript_import_graph_service_ts --> file_src_modules_typescript_typescript_constants_ts
131
+ file_src_modules_typescript_typescript_import_graph_service_ts --> file_src_modules_typescript_typescript_types_ts
132
+ file_src_modules_typescript_typescript_import_graph_service_unit_test_ts --> file_src_modules_typescript_typescript_import_graph_service_ts
133
+ file_src_modules_typescript_typescript_import_graph_service_unit_test_ts --> file_src_modules_typescript_typescript_project_service_ts
134
+ file_src_modules_typescript_typescript_import_graph_service_unit_test_ts --> file_src_modules_typescript_typescript_constants_ts
135
+ file_src_modules_typescript_typescript_import_graph_service_unit_test_ts --> file_testing_programs_ts
136
+ file_src_modules_typescript_typescript_project_service_ts --> file_src_modules_typescript_typescript_constants_ts
137
+ file_src_modules_typescript_typescript_project_service_ts --> file_src_modules_typescript_typescript_types_ts
138
+ file_src_modules_typescript_typescript_project_service_unit_test_ts --> file_src_modules_typescript_typescript_project_service_ts
139
+ file_src_modules_typescript_typescript_project_service_unit_test_ts --> file_src_modules_typescript_typescript_constants_ts
140
+ file_src_modules_typescript_typescript_project_service_unit_test_ts --> file_src_modules_typescript_typescript_types_ts
141
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_typescript_typescript_import_graph_service_ts
142
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_typescript_typescript_project_service_ts
143
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_typescript_typescript_service_ts
144
+ file_src_modules_typescript_typescript_module_unit_test_ts --> file_src_modules_typescript_typescript_module_ts
145
+ file_src_modules_typescript_typescript_module_unit_test_ts --> file_src_modules_typescript_typescript_service_ts
146
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_typescript_import_graph_service_ts
147
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_typescript_project_service_ts
148
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_typescript_types_ts
149
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_import_graph_service_ts
150
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_project_service_ts
151
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_service_ts
152
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_types_ts
153
+ file_testing_programs_ts --> file_src_modules_typescript_typescript_types_ts
154
+ ```
155
+ <!-- codependix:end name="codependix-file-imports" -->
156
+
157
+ <!-- callidescope:start -->
158
+
159
+ ## πŸ”­ Callidescope
160
+
161
+ Call stacks traced through `packages/ic-suite/codependix/codependix-file-imports`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
162
+
163
+ | Measure | Value |
164
+ | --- | --- |
165
+ | Callables | 100 |
166
+ | Files | 26 |
167
+ | Calls traced | 100 |
168
+ | Call stacks | 0 |
169
+ | Deepest stack | 0 |
170
+ | Stacks through recursion | 0 |
171
+ | Unfollowable calls | 1 |
172
+
173
+ ### Limits
174
+
175
+ What this project is judged against, as declared in its own `callidescope.config.ts`.
176
+
177
+ | Limit | Value |
178
+ | --- | --- |
179
+ | `maximumDepth` | 8 |
180
+ | `maximumBreadth` | 8 |
181
+
182
+ ### Call stacks (depth)
183
+
184
+ None.
185
+
186
+ ### Breadth
187
+
188
+ | Callable | Breadth | Calls directly | Location |
189
+ | --- | --- | --- | --- |
190
+ | `TypescriptImportGraphService.buildGraph` | 8 | `TypescriptImportGraphService.resolveOwnedFileNames`, `TypescriptImportGraphService.listOwnedSourceFileNames`, `TypescriptImportGraphService.dedupeEdges`, `TypescriptImportGraphService.flatMap(…)`, `TypescriptImportGraphService.flatMap(…)`, `TypescriptImportGraphService.toSorted(…)`, `TypescriptImportGraphService.map(…)`, `TypescriptImportGraphService.filter(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:185` |
191
+ | `PythonImportGraphService.buildGraph` | 7 | `PythonProjectService.listSourceFileNames`, `PythonImportGraphService.dedupeEdges`, `PythonImportGraphService.flatMap(…)`, `PythonImportGraphService.flatMap(…)`, `PythonImportGraphService.toSorted(…)`, `PythonImportGraphService.map(…)`, `PythonImportGraphService.filter(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:180` |
192
+ | `FileImportsWorkspaceGraphService.buildWorkspaceGraph` | 4 | `FileImportsWorkspaceGraphService.sortNames`, `FileImportsWorkspaceGraphService.flatMap(…)`, `FileImportsWorkspaceGraphService.toSorted(…)`, `FileImportsWorkspaceGraphService.flatMap(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:84` |
193
+
194
+ <details>
195
+ <summary>53 more callables</summary>
196
+
197
+ | Callable | Breadth | Calls directly | Location |
198
+ | --- | --- | --- | --- |
199
+ | `PythonImportParserService.parseImportStatement` | 3 | `PythonImportParserService.map(…)`, `PythonImportParserService.filter(…)`, `PythonImportParserService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:105` |
200
+ | `PythonImportParserService.parseImportSpecifiers` | 3 | `PythonImportParserService.isTopLevelImportStart`, `PythonImportParserService.collectStatement`, `PythonImportParserService.parseStatement` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:158` |
201
+ | `PythonImportGraphService.collectEdgesForFile` | 3 | `PythonImportParserService.parseImportSpecifiers`, `PythonImportGraphService.resolveSpecifierPath`, `PythonImportGraphService.toRelativePath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:64` |
202
+ | `TypescriptProjectService.parseConfiguration` | 3 | `TypescriptProjectService.readJsonConfigFile(…)`, `TypescriptProjectConfigurationError.constructor`, `TypescriptProjectService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-project.service.ts:51` |
203
+ | `TypescriptImportGraphService.listOwnedSourceFileNames` | 3 | `TypescriptImportGraphService.toSorted(…)`, `TypescriptImportGraphService.filter(…)`, `TypescriptImportGraphService.resolveOwnedFileNames` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:122` |
204
+ | `FileImportsWorkspaceGraphService.renderMermaid` | 2 | `FileImportsWorkspaceGraphService.map(…)`, `FileImportsWorkspaceGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:109` |
205
+ | `PythonImportParserService.collectStatement` | 2 | `PythonImportParserService.stripComment`, `PythonImportParserService.countCharacter` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:42` |
206
+ | `PythonImportParserService.isTopLevelImportStart` | 2 | `PythonImportParserService.measureIndent`, `PythonImportParserService.stripComment` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:79` |
207
+ | `PythonImportParserService.parseStatement` | 2 | `PythonImportParserService.parseFromStatement`, `PythonImportParserService.parseImportStatement` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:126` |
208
+ | `PythonProjectService.discoverProjects` | 2 | `PythonProjectService.map(…)`, `PythonProjectService.filter(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-project.service.ts:69` |
209
+ | `PythonProjectService.listSourceFileNames` | 2 | `PythonProjectService.toSorted(…)`, `PythonProjectService.listSourceFilesInDirectory` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-project.service.ts:85` |
210
+ | `PythonImportGraphService.renderMermaid` | 2 | `PythonImportGraphService.map(…)`, `PythonImportGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:207` |
211
+ | `TypescriptProjectService.discoverProjects` | 2 | `TypescriptProjectService.map(…)`, `TypescriptProjectService.filter(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-project.service.ts:107` |
212
+ | `TypescriptImportGraphService.collectEdgesForFile` | 2 | `TypescriptImportGraphService.resolveImportTarget`, `TypescriptImportGraphService.toRelativePath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:49` |
213
+ | `TypescriptImportGraphService.renderMermaid` | 2 | `TypescriptImportGraphService.map(…)`, `TypescriptImportGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:215` |
214
+ | `FileImportsWorkspaceGraphService.renderNode` | 1 | `FileImportsWorkspaceGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:64` |
215
+ | `FileImportsWorkspaceGraphService.sortNames` | 1 | `FileImportsWorkspaceGraphService.toSorted(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:69` |
216
+ | `FileImportsWorkspaceGraphService.flatMap(…)` | 1 | `FileImportsWorkspaceGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:90` |
217
+ | `FileImportsWorkspaceGraphService.map(…)` | 1 | `FileImportsWorkspaceGraphService.qualifyFileName` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:91` |
218
+ | `FileImportsWorkspaceGraphService.flatMap(…)` | 1 | `FileImportsWorkspaceGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:97` |
219
+ | `FileImportsWorkspaceGraphService.map(…)` | 1 | `FileImportsWorkspaceGraphService.qualifyFileName` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:98` |
220
+ | `FileImportsWorkspaceGraphService.toSorted(…)` | 1 | `FileImportsWorkspaceGraphService.compareEdges` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:103` |
221
+ | `FileImportsWorkspaceGraphService.map(…)` | 1 | `FileImportsWorkspaceGraphService.renderNode` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:117` |
222
+ | `FileImportsWorkspaceGraphService.map(…)` | 1 | `FileImportsWorkspaceGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/file-imports-workspace-graph/file-imports-workspace-graph.service.ts:119` |
223
+ | `PythonProjectService.filter(…)` | 1 | `PythonProjectService.isPythonProject` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-project.service.ts:73` |
224
+ | `PythonProjectService.map(…)` | 1 | `PythonProjectService.describeProject` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-project.service.ts:74` |
225
+ | `PythonImportGraphService.dedupeEdges` | 1 | `PythonImportGraphService.toSorted(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:107` |
226
+ | `PythonImportGraphService.toSorted(…)` | 1 | `PythonImportGraphService.compareEdges` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:114` |
227
+ | `PythonImportGraphService.renderNode` | 1 | `PythonImportGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:120` |
228
+ | `PythonImportGraphService.resolveSpecifierPath` | 1 | `PythonImportGraphService.ascendDirectories` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:133` |
229
+ | `PythonImportGraphService.flatMap(…)` | 1 | `PythonImportGraphService.collectEdgesForFile` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:185` |
230
+ | `PythonImportGraphService.map(…)` | 1 | `PythonImportGraphService.toRelativePath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:193` |
231
+ | `PythonImportGraphService.map(…)` | 1 | `PythonImportGraphService.renderNode` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:215` |
232
+ | `PythonImportGraphService.map(…)` | 1 | `PythonImportGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:217` |
233
+ | `PythonService.buildGraph` | 1 | `PythonImportGraphService.buildGraph` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python.service.ts:39` |
234
+ | `PythonService.discoverProjects` | 1 | `PythonProjectService.discoverProjects` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python.service.ts:47` |
235
+ | `PythonService.renderMermaid` | 1 | `PythonImportGraphService.renderMermaid` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python.service.ts:54` |
236
+ | `TypescriptProjectService.buildProgram` | 1 | `TypescriptProjectService.parseConfiguration` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-project.service.ts:78` |
237
+ | `TypescriptProjectService.map(…)` | 1 | `TypescriptProjectService.describeProject` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-project.service.ts:116` |
238
+ | `TypescriptImportGraphService.dedupeEdges` | 1 | `TypescriptImportGraphService.toSorted(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:100` |
239
+ | `TypescriptImportGraphService.toSorted(…)` | 1 | `TypescriptImportGraphService.compareEdges` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:109` |
240
+ | `TypescriptImportGraphService.renderNode` | 1 | `TypescriptImportGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:131` |
241
+ | `TypescriptImportGraphService.resolveImportTarget` | 1 | `TypescriptProjectService.toRealPath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:136` |
242
+ | `TypescriptImportGraphService.resolveOwnedFileNames` | 1 | `TypescriptImportGraphService.map(…)` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:156` |
243
+ | `TypescriptImportGraphService.map(…)` | 1 | `TypescriptProjectService.toRealPath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:162` |
244
+ | `TypescriptImportGraphService.flatMap(…)` | 1 | `TypescriptImportGraphService.collectEdgesForFile` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:189` |
245
+ | `TypescriptImportGraphService.map(…)` | 1 | `TypescriptImportGraphService.toRelativePath` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:201` |
246
+ | `TypescriptImportGraphService.map(…)` | 1 | `TypescriptImportGraphService.renderNode` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:223` |
247
+ | `TypescriptImportGraphService.map(…)` | 1 | `TypescriptImportGraphService.toNodeIdentifier` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript-import-graph.service.ts:225` |
248
+ | `TypescriptService.buildGraph` | 1 | `TypescriptImportGraphService.buildGraph` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript.service.ts:44` |
249
+ | `TypescriptService.buildProgram` | 1 | `TypescriptProjectService.buildProgram` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript.service.ts:49` |
250
+ | `TypescriptService.discoverProjects` | 1 | `TypescriptProjectService.discoverProjects` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript.service.ts:57` |
251
+ | `TypescriptService.renderMermaid` | 1 | `TypescriptImportGraphService.renderMermaid` | `packages/ic-suite/codependix/codependix-file-imports/src/modules/typescript/typescript.service.ts:64` |
252
+
253
+ </details>
254
+ <!-- callidescope:end -->
255
+
256
+ <!-- codometer:start -->
257
+
258
+ ## ⏲️ Codometer
259
+
260
+ ### Project
261
+
262
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-2921-22c55e?style=flat-square)
263
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-106.89_kB-6b7280?style=flat-square)
264
+ ![Folders](https://img.shields.io/badge/Folders-6-4a4a4a?style=flat-square)
265
+ ![Source Files](https://img.shields.io/badge/Source_Files-40-3178c6?style=flat-square)
266
+
267
+ ### Measured Targets
268
+
269
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-4.14_kB_gzip-6b7280?style=flat-square)
270
+
271
+ ### TypeScript
272
+
273
+ ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-40-3178c6?style=flat-square)
274
+ ![Interfaces](https://img.shields.io/badge/Interfaces-10-0ea5e9?style=flat-square)
275
+ ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-0-0369a1?style=flat-square)
276
+ ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
277
+ ![Decorators](https://img.shields.io/badge/Decorators-11-db2777?style=flat-square)
278
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-101-6366f1?style=flat-square)
279
+ ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
280
+
281
+ ### JavaScript
282
+
283
+ ![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-0-f7df1e?style=flat-square)
284
+ ![Test Files](https://img.shields.io/badge/Test_Files-11-10b981?style=flat-square)
285
+ ![External Packages](https://img.shields.io/badge/External_Packages-10-8b5cf6?style=flat-square)
286
+ ![Classes](https://img.shields.io/badge/Classes-12-7c3aed?style=flat-square)
287
+ ![Functions](https://img.shields.io/badge/Functions-134-16a34a?style=flat-square)
288
+ ![Methods](https://img.shields.io/badge/Methods-91-15803d?style=flat-square)
289
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-197-4ade80?style=flat-square)
290
+ ![Async Functions](https://img.shields.io/badge/Async_Functions-28-059669?style=flat-square)
291
+ ![Constants](https://img.shields.io/badge/Constants-177-dc2626?style=flat-square)
292
+ ![Imports](https://img.shields.io/badge/Imports-133-0284c7?style=flat-square)
293
+ ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-44-ea580c?style=flat-square)
294
+ ![Comments](https://img.shields.io/badge/Comments-174-64748b?style=flat-square)
295
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-386-475569?style=flat-square)
296
+ ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)
297
+
298
+ ### Python
299
+
300
+ ![Python Files](https://img.shields.io/badge/Python_Files-0-3776ab?style=flat-square)
301
+ ![Python Lines](https://img.shields.io/badge/Python_Lines-0-4b8bbe?style=flat-square)
302
+ ![Python Classes](https://img.shields.io/badge/Python_Classes-0-7c3aed?style=flat-square)
303
+ ![Python Functions](https://img.shields.io/badge/Python_Functions-0-16a34a?style=flat-square)
304
+ ![Python Protocols](https://img.shields.io/badge/Python_Protocols-0-0ea5e9?style=flat-square)
305
+ ![Python Constants](https://img.shields.io/badge/Python_Constants-0-dc2626?style=flat-square)
306
+ ![Python Imports](https://img.shields.io/badge/Python_Imports-0-0284c7?style=flat-square)
307
+ ![Python Decorators](https://img.shields.io/badge/Python_Decorators-0-db2777?style=flat-square)
308
+ ![Docstrings](https://img.shields.io/badge/Docstrings-0-6366f1?style=flat-square)
309
+ ![Docstring Lines](https://img.shields.io/badge/Docstring_Lines-0-818cf8?style=flat-square)
310
+ ![Python Comments](https://img.shields.io/badge/Python_Comments-0-64748b?style=flat-square)
311
+ ![Python Comment Lines](https://img.shields.io/badge/Python_Comment_Lines-0-475569?style=flat-square)
312
+
313
+ ### JSON
314
+
315
+ ![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square)
316
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-165-ca8a04?style=flat-square)
317
+ ![JSON Objects](https://img.shields.io/badge/JSON_Objects-39-7c3aed?style=flat-square)
318
+ ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-13-8b5cf6?style=flat-square)
319
+ ![JSON Properties](https://img.shields.io/badge/JSON_Properties-101-0284c7?style=flat-square)
320
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-88-16a34a?style=flat-square)
321
+ ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square)
322
+ ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-7-0ea5e9?style=flat-square)
323
+ ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
324
+ ![JSON Items](https://img.shields.io/badge/JSON_Items-43-475569?style=flat-square)
325
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-148-dc2626?style=flat-square)
326
+ ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-5-ea580c?style=flat-square)
327
+
328
+ ### YAML
329
+
330
+ ![YAML Files](https://img.shields.io/badge/YAML_Files-0-cb171e?style=flat-square)
331
+ ![YAML Lines](https://img.shields.io/badge/YAML_Lines-0-e34c26?style=flat-square)
332
+ ![YAML Documents](https://img.shields.io/badge/YAML_Documents-0-f97316?style=flat-square)
333
+ ![YAML Mappings](https://img.shields.io/badge/YAML_Mappings-0-7c3aed?style=flat-square)
334
+ ![YAML Sequences](https://img.shields.io/badge/YAML_Sequences-0-8b5cf6?style=flat-square)
335
+ ![YAML Keys](https://img.shields.io/badge/YAML_Keys-0-0284c7?style=flat-square)
336
+ ![YAML Scalars](https://img.shields.io/badge/YAML_Scalars-0-16a34a?style=flat-square)
337
+ ![YAML Anchors](https://img.shields.io/badge/YAML_Anchors-0-059669?style=flat-square)
338
+ ![YAML Aliases](https://img.shields.io/badge/YAML_Aliases-0-10b981?style=flat-square)
339
+ ![YAML Comments](https://img.shields.io/badge/YAML_Comments-0-64748b?style=flat-square)
340
+ ![YAML Max Depth](https://img.shields.io/badge/YAML_Max_Depth-0-ea580c?style=flat-square)
341
+
342
+ ### TOML
343
+
344
+ ![TOML Files](https://img.shields.io/badge/TOML_Files-0-9c4221?style=flat-square)
345
+ ![TOML Lines](https://img.shields.io/badge/TOML_Lines-0-b45309?style=flat-square)
346
+ ![TOML Tables](https://img.shields.io/badge/TOML_Tables-0-7c3aed?style=flat-square)
347
+ ![TOML Array Tables](https://img.shields.io/badge/TOML_Array_Tables-0-8b5cf6?style=flat-square)
348
+ ![TOML Keys](https://img.shields.io/badge/TOML_Keys-0-0284c7?style=flat-square)
349
+ ![TOML Arrays](https://img.shields.io/badge/TOML_Arrays-0-16a34a?style=flat-square)
350
+ ![TOML Comments](https://img.shields.io/badge/TOML_Comments-0-64748b?style=flat-square)
351
+
352
+ ### Shell
353
+
354
+ ![Shell Files](https://img.shields.io/badge/Shell_Files-0-89e051?style=flat-square)
355
+ ![Shell Lines](https://img.shields.io/badge/Shell_Lines-0-4eaa25?style=flat-square)
356
+ ![Shell Functions](https://img.shields.io/badge/Shell_Functions-0-16a34a?style=flat-square)
357
+ ![Shell Variables](https://img.shields.io/badge/Shell_Variables-0-0284c7?style=flat-square)
358
+ ![Shell Exports](https://img.shields.io/badge/Shell_Exports-0-ea580c?style=flat-square)
359
+ ![Shell Conditionals](https://img.shields.io/badge/Shell_Conditionals-0-7c3aed?style=flat-square)
360
+ ![Shell Loops](https://img.shields.io/badge/Shell_Loops-0-8b5cf6?style=flat-square)
361
+ ![Shell Pipelines](https://img.shields.io/badge/Shell_Pipelines-0-059669?style=flat-square)
362
+ ![Shebangs](https://img.shields.io/badge/Shebangs-0-6b7280?style=flat-square)
363
+ ![Shell Comments](https://img.shields.io/badge/Shell_Comments-0-64748b?style=flat-square)
364
+ ![Shell Comment Lines](https://img.shields.io/badge/Shell_Comment_Lines-0-475569?style=flat-square)
365
+
366
+ ### SQL
367
+
368
+ ![SQL Files](https://img.shields.io/badge/SQL_Files-0-e38c00?style=flat-square)
369
+ ![SQL Lines](https://img.shields.io/badge/SQL_Lines-0-f29111?style=flat-square)
370
+ ![SQL Statements](https://img.shields.io/badge/SQL_Statements-0-7c3aed?style=flat-square)
371
+ ![SQL Selects](https://img.shields.io/badge/SQL_Selects-0-16a34a?style=flat-square)
372
+ ![SQL Inserts](https://img.shields.io/badge/SQL_Inserts-0-22c55e?style=flat-square)
373
+ ![SQL Updates](https://img.shields.io/badge/SQL_Updates-0-0ea5e9?style=flat-square)
374
+ ![SQL Deletes](https://img.shields.io/badge/SQL_Deletes-0-dc2626?style=flat-square)
375
+ ![SQL Creates](https://img.shields.io/badge/SQL_Creates-0-0284c7?style=flat-square)
376
+ ![SQL Joins](https://img.shields.io/badge/SQL_Joins-0-8b5cf6?style=flat-square)
377
+ ![SQL CTEs](https://img.shields.io/badge/SQL_CTEs-0-059669?style=flat-square)
378
+ ![SQL Comments](https://img.shields.io/badge/SQL_Comments-0-64748b?style=flat-square)
379
+
380
+ ### HCL
381
+
382
+ ![HCL Files](https://img.shields.io/badge/HCL_Files-0-844fba?style=flat-square)
383
+ ![HCL Lines](https://img.shields.io/badge/HCL_Lines-0-a78bfa?style=flat-square)
384
+ ![HCL Blocks](https://img.shields.io/badge/HCL_Blocks-0-7c3aed?style=flat-square)
385
+ ![HCL Resources](https://img.shields.io/badge/HCL_Resources-0-0284c7?style=flat-square)
386
+ ![HCL Variables](https://img.shields.io/badge/HCL_Variables-0-16a34a?style=flat-square)
387
+ ![HCL Outputs](https://img.shields.io/badge/HCL_Outputs-0-059669?style=flat-square)
388
+ ![HCL Attributes](https://img.shields.io/badge/HCL_Attributes-0-0ea5e9?style=flat-square)
389
+ ![HCL Interpolations](https://img.shields.io/badge/HCL_Interpolations-0-db2777?style=flat-square)
390
+ ![HCL Comments](https://img.shields.io/badge/HCL_Comments-0-64748b?style=flat-square)
391
+
392
+ ### CSS
393
+
394
+ ![CSS Files](https://img.shields.io/badge/CSS_Files-0-264de4?style=flat-square)
395
+ ![CSS Lines](https://img.shields.io/badge/CSS_Lines-0-2965f1?style=flat-square)
396
+ ![CSS Rules](https://img.shields.io/badge/CSS_Rules-0-7c3aed?style=flat-square)
397
+ ![CSS Selectors](https://img.shields.io/badge/CSS_Selectors-0-8b5cf6?style=flat-square)
398
+ ![CSS Declarations](https://img.shields.io/badge/CSS_Declarations-0-0284c7?style=flat-square)
399
+ ![CSS At Rules](https://img.shields.io/badge/CSS_At_Rules-0-f97316?style=flat-square)
400
+ ![CSS Media Queries](https://img.shields.io/badge/CSS_Media_Queries-0-ea580c?style=flat-square)
401
+ ![CSS Custom Properties](https://img.shields.io/badge/CSS_Custom_Properties-0-16a34a?style=flat-square)
402
+ ![CSS Comments](https://img.shields.io/badge/CSS_Comments-0-64748b?style=flat-square)
403
+
404
+ ### Conventions
405
+
406
+ ![Module Files](https://img.shields.io/badge/Module_Files-3-7c3aed?style=flat-square)
407
+ ![Service Files](https://img.shields.io/badge/Service_Files-8-0284c7?style=flat-square)
408
+ ![Command Files](https://img.shields.io/badge/Command_Files-0-16a34a?style=flat-square)
409
+ ![Constants Files](https://img.shields.io/badge/Constants_Files-4-ea580c?style=flat-square)
410
+ ![Types Files](https://img.shields.io/badge/Types_Files-4-db2777?style=flat-square)
411
+ ![Utilities Files](https://img.shields.io/badge/Utilities_Files-0-0ea5e9?style=flat-square)
412
+ ![TypeORM Entities](https://img.shields.io/badge/TypeORM_Entities-0-059669?style=flat-square)
413
+ ![Unit Tests](https://img.shields.io/badge/Unit_Tests-11-ca8a04?style=flat-square)
414
+ ![Integration Tests](https://img.shields.io/badge/Integration_Tests-0-7c3aed?style=flat-square)
415
+ ![End To End Tests](https://img.shields.io/badge/End_To_End_Tests-0-0284c7?style=flat-square)
416
+ ![CSS Comment Budget](https://img.shields.io/badge/CSS_Comment_Budget-0-16a34a?style=flat-square)
417
+ ![HCL Comment Budget](https://img.shields.io/badge/HCL_Comment_Budget-0-ea580c?style=flat-square)
418
+ ![Python Comment Budget](https://img.shields.io/badge/Python_Comment_Budget-0-db2777?style=flat-square)
419
+ ![SQL Comment Budget](https://img.shields.io/badge/SQL_Comment_Budget-0-0ea5e9?style=flat-square)
420
+ ![TOML Comment Budget](https://img.shields.io/badge/TOML_Comment_Budget-0-059669?style=flat-square)
421
+ ![TypeScript Comment Budget](https://img.shields.io/badge/TypeScript_Comment_Budget-0-ca8a04?style=flat-square)
422
+ ![YAML Comment Budget](https://img.shields.io/badge/YAML_Comment_Budget-0-7c3aed?style=flat-square)
423
+ ![Shell Comment Budget](https://img.shields.io/badge/Shell_Comment_Budget-0-0284c7?style=flat-square)
424
+
425
+ ### Jupyter
426
+
427
+ ![Notebooks](https://img.shields.io/badge/Notebooks-0-f37626?style=flat-square)
428
+ ![Notebook Cells](https://img.shields.io/badge/Notebook_Cells-0-e8a33d?style=flat-square)
429
+ ![Code Cells](https://img.shields.io/badge/Code_Cells-0-3776ab?style=flat-square)
430
+ ![Markdown Cells](https://img.shields.io/badge/Markdown_Cells-0-083fa1?style=flat-square)
431
+ ![Raw Cells](https://img.shields.io/badge/Raw_Cells-0-9ca3af?style=flat-square)
432
+ ![Executed Cells](https://img.shields.io/badge/Executed_Cells-0-16a34a?style=flat-square)
433
+ ![Cell Outputs](https://img.shields.io/badge/Cell_Outputs-0-059669?style=flat-square)
434
+ ![Notebook Code Lines](https://img.shields.io/badge/Notebook_Code_Lines-0-4b8bbe?style=flat-square)
435
+ ![Notebook Classes](https://img.shields.io/badge/Notebook_Classes-0-7c3aed?style=flat-square)
436
+ ![Notebook Functions](https://img.shields.io/badge/Notebook_Functions-0-22c55e?style=flat-square)
437
+ ![Notebook Imports](https://img.shields.io/badge/Notebook_Imports-0-0284c7?style=flat-square)
438
+ ![Notebook Decorators](https://img.shields.io/badge/Notebook_Decorators-0-db2777?style=flat-square)
439
+ ![Notebook Prose Lines](https://img.shields.io/badge/Notebook_Prose_Lines-0-1f6feb?style=flat-square)
440
+ ![Notebook Headings](https://img.shields.io/badge/Notebook_Headings-0-a78bfa?style=flat-square)
441
+ ![Notebook Links](https://img.shields.io/badge/Notebook_Links-0-10b981?style=flat-square)
442
+ ![Notebook Images](https://img.shields.io/badge/Notebook_Images-0-34d399?style=flat-square)
443
+ ![Notebook Code Blocks](https://img.shields.io/badge/Notebook_Code_Blocks-0-dc2626?style=flat-square)
444
+ ![Notebook Properties](https://img.shields.io/badge/Notebook_Properties-0-ca8a04?style=flat-square)
445
+ ![Notebook Nodes](https://img.shields.io/badge/Notebook_Nodes-0-a16207?style=flat-square)
446
+ ![Notebook Max Depth](https://img.shields.io/badge/Notebook_Max_Depth-0-ea580c?style=flat-square)
447
+
448
+ ### Markdown
449
+
450
+ ![Markdown Files](https://img.shields.io/badge/Markdown_Files-1-083fa1?style=flat-square)
451
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-222-1f6feb?style=flat-square)
452
+ ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
453
+ ![H2](https://img.shields.io/badge/H2-7-8b5cf6?style=flat-square)
454
+ ![H3](https://img.shields.io/badge/H3-12-a78bfa?style=flat-square)
455
+ ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
456
+ ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
457
+ ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
458
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-45-64748b?style=flat-square)
459
+ ![Lists](https://img.shields.io/badge/Lists-6-16a34a?style=flat-square)
460
+ ![List Items](https://img.shields.io/badge/List_Items-25-22c55e?style=flat-square)
461
+ ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
462
+ ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
463
+ ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
464
+ ![Links](https://img.shields.io/badge/Links-9-059669?style=flat-square)
465
+ ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
466
+ ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
467
+ ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
468
+ ![Block Quotes](https://img.shields.io/badge/Block_Quotes-0-ca8a04?style=flat-square)
469
+ ![Thematic Breaks](https://img.shields.io/badge/Thematic_Breaks-0-a16207?style=flat-square)
470
+ <!-- codometer:end -->