@codometer/languages 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,964 @@
1
+ ## Test
2
+
3
+ ```bash
4
+ nx run codometer-languages:vitest
5
+ ```
6
+
7
+ <!-- callidescope:start -->
8
+
9
+ ## ๐Ÿ”ญ Callidescope
10
+
11
+ Call stacks traced through `packages/ic-suite/codometer/codometer-languages`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
12
+
13
+ | Measure | Value |
14
+ | --- | --- |
15
+ | Callables | 210 |
16
+ | Files | 68 |
17
+ | Calls traced | 207 |
18
+ | Call stacks | 17 |
19
+ | Deepest stack | 5 |
20
+ | Stacks through recursion | 0 |
21
+ | Unfollowable calls | 5 |
22
+
23
+ ### Limits
24
+
25
+ What this project is judged against, as declared in its own `callidescope.config.ts`.
26
+
27
+ | Limit | Value |
28
+ | --- | --- |
29
+ | `maximumDepth` | 11 |
30
+ | `maximumBreadth` | 12 |
31
+
32
+ ### Call stacks (depth)
33
+
34
+ **1. `LanguageCommentsService.read`** โ€” depth โ‰ฅ 5 ยท orphan-root
35
+
36
+ ```text
37
+ ๐Ÿš€ LanguageCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:124]
38
+ โ””โ”€> HclCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:122]
39
+ โ†ณ Reads every `#`, `//`, and `/* *\/` comment, in the order they appear.
40
+ โ””โ”€> HclCommentsService.readBlocks(content: string): { end: number; start: number; token: CommentToken; }[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:75]
41
+ โ†ณ Every block comment's span, as a positioned token.
42
+ โ””โ”€> HclCommentsService.map(โ€ฆ)(โ€ฆ): { end: number; start: number; token: { line: number; ownLine: boolean; prose: string; source: string; }; } [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:78]
43
+ โ””โ”€> HclCommentsService.lineOf(content: string, index: number): number [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:70]
44
+ โ†ณ The 1-indexed line an offset sits on.
45
+ ```
46
+
47
+ **2. `LanguageCommentsService.read`** โ€” depth โ‰ฅ 5 ยท orphan-root
48
+
49
+ ```text
50
+ ๐Ÿš€ LanguageCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:132]
51
+ โ””โ”€> SqlCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:118]
52
+ โ†ณ Reads every `--` and `/* *\/` comment, in the order they appear.
53
+ โ””โ”€> SqlCommentsService.readBlocks(content: string): { end: number; start: number; token: CommentToken; }[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:70]
54
+ โ†ณ Every block comment's span, as a positioned token.
55
+ โ””โ”€> SqlCommentsService.map(โ€ฆ)(โ€ฆ): { end: number; start: number; token: { line: number; ownLine: boolean; prose: string; source: string; }; } [packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:73]
56
+ โ””โ”€> SqlCommentsService.lineOf(content: string, index: number): number [packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:65]
57
+ โ†ณ The 1-indexed line an offset sits on.
58
+ ```
59
+
60
+ **3. `LanguageCommentsService.read`** โ€” depth 5 ยท orphan-root
61
+
62
+ ```text
63
+ ๐Ÿš€ LanguageCommentsService.read(content: string, filePath: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:137]
64
+ โ””โ”€> TypescriptCommentsService.read(content: string, filePath: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:140]
65
+ โ†ณ Reads every non-JSDoc comment the parse finds, in source order.
66
+ โ””โ”€> TypescriptCommentsService.flatMap(โ€ฆ)(this: undefined, range: tsCompiler.CommentRange): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:154]
67
+ โ””โ”€> TypescriptCommentsService.toToken(range: tsCompiler.CommentRange, content: string): CommentToken | undefined [packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:119]
68
+ โ†ณ Turns one comment range into a token, unless it is a JSDoc block.
69
+ โ””โ”€> TypescriptCommentsService.isJsDoc(range: tsCompiler.CommentRange, source: string): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:90]
70
+ โ†ณ Whether this range is a JSDoc block, measured elsewhere.
71
+ ```
72
+
73
+ <details>
74
+ <summary>14 more call stacks</summary>
75
+
76
+ **4. `LanguageCommentsService.read`** โ€” depth 4 ยท orphan-root
77
+
78
+ ```text
79
+ ๐Ÿš€ LanguageCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:120]
80
+ โ””โ”€> CssCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/css-comments.service.ts:70]
81
+ โ†ณ Reads every comment postcss's parse finds, in document order.
82
+ โ””โ”€> CssCommentsService.walkComments(โ€ฆ)(comment: postcss.Comment): void [packages/ic-suite/codometer/codometer-languages/src/modules/comments/css-comments.service.ts:74]
83
+ โ””โ”€> CssCommentsService.toBody(comment: Comment): string [packages/ic-suite/codometer/codometer-languages/src/modules/comments/css-comments.service.ts:36]
84
+ โ†ณ A comment's text with the whitespace postcss split off restored. `raws.left`/`raws.right` are typed optional, butโ€ฆ
85
+ ```
86
+
87
+ **5. `LanguageCommentsService.read`** โ€” depth 4 ยท orphan-root
88
+
89
+ ```text
90
+ ๐Ÿš€ LanguageCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:142]
91
+ โ””โ”€> YamlCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/yaml-comments.service.ts:103]
92
+ โ†ณ Reads every comment the tokenizer found, in the order they appear.
93
+ โ””โ”€> YamlCommentsService.collectComments(candidate: unknown, scan: YamlCommentScan): void [packages/ic-suite/codometer/codometer-languages/src/modules/comments/yaml-comments.service.ts:43]
94
+ โ†ณ Walks one parsed token, recording every comment beneath it.
95
+ โ””โ”€> YamlCommentsService.isCommentToken(โ€ฆ): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/comments/yaml-comments.service.ts:70]
96
+ โ†ณ Whether a parsed token is a comment carrying an offset.
97
+ ```
98
+
99
+ **6. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
100
+
101
+ ```text
102
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:66]
103
+ โ””โ”€> TypescriptService.handleFunction(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:298]
104
+ โ†ณ Increments function, method, async, sync, exported, and generic counts for a function node.
105
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
106
+ โ†ณ Returns true when the node has an export modifier keyword.
107
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
108
+ ```
109
+
110
+ **7. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
111
+
112
+ ```text
113
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:71]
114
+ โ””โ”€> TypescriptService.handleEnum(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:292]
115
+ โ†ณ Increments enum and exported counts for an enum declaration node.
116
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
117
+ โ†ณ Returns true when the node has an export modifier keyword.
118
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
119
+ ```
120
+
121
+ **8. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
122
+
123
+ ```text
124
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:73]
125
+ โ””โ”€> TypescriptService.handleFunction(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:298]
126
+ โ†ณ Increments function, method, async, sync, exported, and generic counts for a function node.
127
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
128
+ โ†ณ Returns true when the node has an export modifier keyword.
129
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
130
+ ```
131
+
132
+ **9. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
133
+
134
+ ```text
135
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:75]
136
+ โ””โ”€> TypescriptService.handleFunction(node: tsCompiler.Node, stats: TypescriptResult, insideClass: boolean): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:298]
137
+ โ†ณ Increments function, method, async, sync, exported, and generic counts for a function node.
138
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
139
+ โ†ณ Returns true when the node has an export modifier keyword.
140
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
141
+ ```
142
+
143
+ **10. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
144
+
145
+ ```text
146
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:77]
147
+ โ””โ”€> TypescriptService.handleMethodOrAccessor(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:342]
148
+ โ†ณ Increments method and async or sync counts for a method or accessor node.
149
+ โ””โ”€> TypescriptService.hasAsyncKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:376]
150
+ โ†ณ Returns true when the node has an async modifier keyword.
151
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.AsyncKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:382]
152
+ ```
153
+
154
+ **11. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
155
+
156
+ ```text
157
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:81]
158
+ โ””โ”€> TypescriptService.handleInterface(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:332]
159
+ โ†ณ Increments interface, exported, and generic counts for an interface declaration node.
160
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
161
+ โ†ณ Returns true when the node has an export modifier keyword.
162
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
163
+ ```
164
+
165
+ **12. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
166
+
167
+ ```text
168
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:83]
169
+ โ””โ”€> TypescriptService.handleMethodOrAccessor(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:342]
170
+ โ†ณ Increments method and async or sync counts for a method or accessor node.
171
+ โ””โ”€> TypescriptService.hasAsyncKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:376]
172
+ โ†ณ Returns true when the node has an async modifier keyword.
173
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.AsyncKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:382]
174
+ ```
175
+
176
+ **13. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
177
+
178
+ ```text
179
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:85]
180
+ โ””โ”€> TypescriptService.handleMethodOrAccessor(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:342]
181
+ โ†ณ Increments method and async or sync counts for a method or accessor node.
182
+ โ””โ”€> TypescriptService.hasAsyncKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:376]
183
+ โ†ณ Returns true when the node has an async modifier keyword.
184
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.AsyncKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:382]
185
+ ```
186
+
187
+ **14. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
188
+
189
+ ```text
190
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:87]
191
+ โ””โ”€> TypescriptService.handleTypeAlias(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:355]
192
+ โ†ณ Increments exported and generic counts for a type alias declaration node.
193
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
194
+ โ†ณ Returns true when the node has an export modifier keyword.
195
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
196
+ ```
197
+
198
+ **15. `TypescriptService.anonymous`** โ€” depth 4 ยท orphan-root
199
+
200
+ ```text
201
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:89]
202
+ โ””โ”€> TypescriptService.handleVariable(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:364]
203
+ โ†ณ Increments constant and exported counts for a const variable statement.
204
+ โ””โ”€> TypescriptService.hasExportKeyword(node: tsCompiler.Node): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388]
205
+ โ†ณ Returns true when the node has an export modifier keyword.
206
+ โ””โ”€> TypescriptService.some(โ€ฆ)(modifier: tsCompiler.Modifier): modifier is tsCompiler.ExportKeyword [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:394]
207
+ ```
208
+
209
+ **16. `LanguageCommentsService.readHash`** โ€” depth 3 ยท orphan-root
210
+
211
+ ```text
212
+ ๐Ÿš€ LanguageCommentsService.readHash(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:109]
213
+ โ””โ”€> HashCommentsService.read(content: string): CommentToken[] [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hash-comments.service.ts:49]
214
+ โ†ณ Reads every `#` comment in a file, with its line and its placement.
215
+ โ””โ”€> HashCommentsService.isShebang(index: number, marker: number, line: string): boolean [packages/ic-suite/codometer/codometer-languages/src/modules/comments/hash-comments.service.ts:42]
216
+ โ†ณ Whether this is the interpreter line rather than a comment. `#!` on the first line is an instruction to the kernel, notโ€ฆ
217
+ ```
218
+
219
+ **17. `TypescriptService.anonymous`** โ€” depth 2 ยท orphan-root
220
+
221
+ ```text
222
+ ๐Ÿš€ TypescriptService.anonymous(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:79]
223
+ โ””โ”€> TypescriptService.handleImport(node: tsCompiler.Node, stats: TypescriptResult): void [packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:318]
224
+ โ†ณ Increments import count and tracks the external package name if applicable.
225
+ ```
226
+
227
+ </details>
228
+
229
+ ### Breadth
230
+
231
+ | Callable | Breadth | Calls directly | Location |
232
+ | --- | --- | --- | --- |
233
+ | `LanguagesService.analyze` | 12 | `PythonService.analyze`, `LanguageCommentsService.measure`, `CssService.analyze`, `HclService.analyze`, `JsonService.analyze`, `JupyterService.analyze`, `MarkdownService.analyze`, `ShellService.analyze`, `SqlService.analyze`, `TomlService.analyze`, `TypescriptService.analyze`, `YamlService.analyze` | `packages/ic-suite/codometer/codometer-languages/src/modules/languages/languages.service.ts:56` |
234
+ | `HclCommentsService.read` | 8 | `HclCommentsService.readBlocks`, `HclCommentsService.filter(โ€ฆ)`, `HclCommentsService.readMatches(โ€ฆ)`, `HclCommentsService.readMatches`, `HclCommentsService.filter(โ€ฆ)`, `HclCommentsService.readMatches(โ€ฆ)`, `HclCommentsService.map(โ€ฆ)`, `HclCommentsService.toSorted(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:122` |
235
+ | `SqlCommentsService.read` | 6 | `SqlCommentsService.readBlocks`, `SqlCommentsService.filter(โ€ฆ)`, `SqlCommentsService.readMatches(โ€ฆ)`, `SqlCommentsService.readMatches`, `SqlCommentsService.map(โ€ฆ)`, `SqlCommentsService.toSorted(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:118` |
236
+
237
+ <details>
238
+ <summary>103 more callables</summary>
239
+
240
+ | Callable | Breadth | Calls directly | Location |
241
+ | --- | --- | --- | --- |
242
+ | `TypescriptService.walkNode` | 6 | `TypescriptService.countSymbols`, `TypescriptService.collectDeclarationComments`, `TypescriptService.handleClass`, `TypescriptService.forEachChild(โ€ฆ)`, `TypescriptService.dispatchNode`, `TypescriptService.forEachChild(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:459` |
243
+ | `JsonService.countNode` | 5 | `JsonService.isArrayNode`, `JsonService.countArrayNode`, `JsonService.isRecordNode`, `JsonService.countRecordNode`, `JsonService.countPrimitiveNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:111` |
244
+ | `JupyterService.analyze` | 5 | `JupyterService.collectParts`, `JsonService.analyze`, `PythonService.analyzeContents`, `MarkdownService.analyzeContents`, `JupyterService.countHeadings` | `packages/ic-suite/codometer/codometer-languages/src/modules/jupyter/jupyter.service.ts:166` |
245
+ | `TypescriptService.createEmptyResult` | 5 | `TypescriptService.seedDeclarationCommentCounts`, `TypescriptService.filter(โ€ฆ)`, `TypescriptService.map(โ€ฆ)`, `TypescriptService.filter(โ€ฆ)`, `TypescriptService.filter(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:203` |
246
+ | `CommentsService.flatMap(โ€ฆ)` | 4 | `CommentsService.readProse`, `CommentsService.measureText`, `CommentsService.toExcerpt`, `CommentsService.readSource` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:165` |
247
+ | `TypescriptCommentsService.toToken` | 4 | `TypescriptCommentsService.isJsDoc`, `TypescriptCommentsService.lineOf`, `TypescriptCommentsService.isOwnLine`, `TypescriptCommentsService.toProse` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:119` |
248
+ | `TypescriptCommentsService.read` | 4 | `TypescriptCommentsService.getScriptKind`, `TypescriptCommentsService.collectComments`, `TypescriptCommentsService.flatMap(โ€ฆ)`, `TypescriptCommentsService.toSorted(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:140` |
249
+ | `JsonService.consumeJsoncCharacter` | 4 | `JsonService.handleLineCommentState`, `JsonService.handleBlockCommentState`, `JsonService.handleStringState`, `JsonService.consumeCharacterOutsideComments` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:66` |
250
+ | `DeclarationCommentsService.prepare` | 4 | `DeclarationCommentsService.filter(โ€ฆ)`, `DeclarationCommentsService.getJsDocRange`, `DeclarationCommentsService.getDeclarationName`, `DeclarationCommentsService.readProse` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/declaration-comments.service.ts:71` |
251
+ | `YamlCommentsService.read` | 3 | `YamlCommentsService.collectComments`, `YamlCommentsService.map(โ€ฆ)`, `YamlCommentsService.toSorted(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/yaml-comments.service.ts:103` |
252
+ | `JsonService.parseDocuments` | 3 | `JsonService.map(โ€ฆ)`, `JsonService.filter(โ€ฆ)`, `JsonService.stripJsoncComments` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:258` |
253
+ | `JsonService.analyze` | 3 | `JsonService.filter(โ€ฆ)`, `JsonService.parseDocuments`, `JsonService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:308` |
254
+ | `SqlService.analyze` | 3 | `SqlService.stripComments`, `SqlService.filter(โ€ฆ)`, `SqlService.countKeywords` | `packages/ic-suite/codometer/codometer-languages/src/modules/sql/sql.service.ts:63` |
255
+ | `TypescriptService.analyzeFile` | 3 | `TypescriptService.getScriptKind`, `TypescriptService.scanComments`, `TypescriptService.walkNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:98` |
256
+ | `TypescriptService.handleFunction` | 3 | `TypescriptService.hasExportKeyword`, `TypescriptService.hasAsyncKeyword`, `TypescriptService.hasTypeParameters` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:298` |
257
+ | `TypescriptService.analyze` | 3 | `TypescriptService.createEmptyResult`, `TypescriptService.analyzeFile`, `TypescriptService.getCountersForFile` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:485` |
258
+ | `CommentsService.measure` | 2 | `CommentsService.flatMap(โ€ฆ)`, `CommentsService.groupIntoBlocks` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:164` |
259
+ | `CommentsService.measureText` | 2 | `CommentsService.map(โ€ฆ)`, `CommentsService.declaredLimits` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:187` |
260
+ | `CssCommentsService.walkComments(โ€ฆ)` | 2 | `CssCommentsService.toBody`, `CssCommentsService.toOwnLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/css-comments.service.ts:74` |
261
+ | `HclCommentsService.readBlocks` | 2 | `HclCommentsService.map(โ€ฆ)`, `HclCommentsService.findBlockComments` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:75` |
262
+ | `HclCommentsService.map(โ€ฆ)` | 2 | `HclCommentsService.lineOf`, `HclCommentsService.isOwnLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:78` |
263
+ | `HclCommentsService.map(โ€ฆ)` | 2 | `HclCommentsService.lineOf`, `HclCommentsService.isOwnLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:96` |
264
+ | `SqlCommentsService.readBlocks` | 2 | `SqlCommentsService.map(โ€ฆ)`, `SqlCommentsService.findBlockComments` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:70` |
265
+ | `SqlCommentsService.map(โ€ฆ)` | 2 | `SqlCommentsService.lineOf`, `SqlCommentsService.isOwnLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:73` |
266
+ | `SqlCommentsService.map(โ€ฆ)` | 2 | `SqlCommentsService.lineOf`, `SqlCommentsService.isOwnLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:91` |
267
+ | `YamlCommentsService.collectComments` | 2 | `YamlCommentsService.isCommentToken`, `YamlCommentsService.toToken` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/yaml-comments.service.ts:43` |
268
+ | `LanguageCommentsService.measureLanguage` | 2 | `LanguageCommentsService.readFile`, `CommentsService.measure` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:68` |
269
+ | `LanguageCommentsService.measureOneLanguage` | 2 | `LanguageCommentsService.measurePython`, `LanguageCommentsService.measureLanguage` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:96` |
270
+ | `MarkdownService.countNode` | 2 | `MarkdownService.countHeading`, `MarkdownService.countListItem` | `packages/ic-suite/codometer/codometer-languages/src/modules/markdown/markdown.service.ts:62` |
271
+ | `PythonService.analyzeContents` | 2 | `PythonService.map(โ€ฆ)`, `PythonService.analyze` | `packages/ic-suite/codometer/codometer-languages/src/modules/python/python.service.ts:87` |
272
+ | `JupyterService.collectParts` | 2 | `JupyterService.readNotebook`, `JupyterService.collectCell` | `packages/ic-suite/codometer/codometer-languages/src/modules/jupyter/jupyter.service.ts:88` |
273
+ | `SqlService.stripComments` | 2 | `SqlService.replaceAll(โ€ฆ)`, `SqlService.replaceAll(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/sql/sql.service.ts:48` |
274
+ | `TomlService.analyze` | 2 | `TomlService.countLine`, `TomlService.isInsideMultilineString` | `packages/ic-suite/codometer/codometer-languages/src/modules/toml/toml.service.ts:98` |
275
+ | `DeclarationCommentsService.measure` | 2 | `DeclarationCommentsService.prepare`, `CommentsService.measureText` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/declaration-comments.service.ts:139` |
276
+ | `TypescriptService.countSymbols` | 2 | `TypescriptService.getSymbolModifiers`, `TypescriptService.every(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:173` |
277
+ | `TypescriptService.handleClass` | 2 | `TypescriptService.hasExportKeyword`, `TypescriptService.hasTypeParameters` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:285` |
278
+ | `TypescriptService.handleInterface` | 2 | `TypescriptService.hasExportKeyword`, `TypescriptService.hasTypeParameters` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:332` |
279
+ | `TypescriptService.handleTypeAlias` | 2 | `TypescriptService.hasExportKeyword`, `TypescriptService.hasTypeParameters` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:355` |
280
+ | `YamlService.countDocument` | 2 | `YamlService.countComments`, `YamlService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/yaml/yaml.service.ts:88` |
281
+ | `YamlService.countNode` | 2 | `YamlService.countComments`, `YamlService.countCollection` | `packages/ic-suite/codometer/codometer-languages/src/modules/yaml/yaml.service.ts:95` |
282
+ | `CommentsService.declaredLimits` | 1 | `CommentsService.countWords` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:64` |
283
+ | `CommentsService.readProse` | 1 | `CommentsService.map(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:102` |
284
+ | `CommentsService.readSource` | 1 | `CommentsService.map(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/comments.service.ts:110` |
285
+ | `CssCommentsService.read` | 1 | `CssCommentsService.walkComments(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/css-comments.service.ts:70` |
286
+ | `HashCommentsService.read` | 1 | `HashCommentsService.isShebang` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hash-comments.service.ts:49` |
287
+ | `HclCommentsService.readMatches` | 1 | `HclCommentsService.map(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:91` |
288
+ | `HclCommentsService.overlapsBlock` | 1 | `HclCommentsService.some(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:124` |
289
+ | `HclCommentsService.filter(โ€ฆ)` | 1 | `HclCommentsService.overlapsBlock` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:131` |
290
+ | `HclCommentsService.filter(โ€ฆ)` | 1 | `HclCommentsService.overlapsBlock` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/hcl-comments.service.ts:136` |
291
+ | `SqlCommentsService.readMatches` | 1 | `SqlCommentsService.map(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:86` |
292
+ | `SqlCommentsService.filter(โ€ฆ)` | 1 | `SqlCommentsService.some(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/sql-comments.service.ts:125` |
293
+ | `TypescriptCommentsService.flatMap(โ€ฆ)` | 1 | `TypescriptCommentsService.toToken` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/typescript-comments.service.ts:154` |
294
+ | `LanguageCommentsService.readHash` | 1 | `HashCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:109` |
295
+ | `LanguageCommentsService.read` | 1 | `CssCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:120` |
296
+ | `LanguageCommentsService.read` | 1 | `HclCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:124` |
297
+ | `LanguageCommentsService.read` | 1 | `SqlCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:132` |
298
+ | `LanguageCommentsService.read` | 1 | `TypescriptCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:137` |
299
+ | `LanguageCommentsService.read` | 1 | `YamlCommentsService.read` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:142` |
300
+ | `LanguageCommentsService.measurePython` | 1 | `LanguageCommentsService.flatMap(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:162` |
301
+ | `LanguageCommentsService.flatMap(โ€ฆ)` | 1 | `CommentsService.measure` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:175` |
302
+ | `LanguageCommentsService.measure` | 1 | `LanguageCommentsService.flatMap(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:212` |
303
+ | `LanguageCommentsService.flatMap(โ€ฆ)` | 1 | `LanguageCommentsService.measureOneLanguage` | `packages/ic-suite/codometer/codometer-languages/src/modules/comments/language-comments.service.ts:234` |
304
+ | `CssService.analyze` | 1 | `CssService.walk(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/css/css.service.ts:74` |
305
+ | `CssService.walk(โ€ฆ)` | 1 | `CssService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/css/css.service.ts:88` |
306
+ | `HclService.countLine` | 1 | `HclService.countBlock` | `packages/ic-suite/codometer/codometer-languages/src/modules/hcl/hcl.service.ts:60` |
307
+ | `HclService.analyze` | 1 | `HclService.countLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/hcl/hcl.service.ts:87` |
308
+ | `JsonService.countArrayNode` | 1 | `JsonService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:95` |
309
+ | `JsonService.countPrimitiveNode` | 1 | `JsonService.countPrimitiveValue` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:126` |
310
+ | `JsonService.countRecordNode` | 1 | `JsonService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:162` |
311
+ | `JsonService.stripJsoncComments` | 1 | `JsonService.consumeJsoncCharacter` | `packages/ic-suite/codometer/codometer-languages/src/modules/json/json.service.ts:273` |
312
+ | `MarkdownService.walk` | 1 | `MarkdownService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/markdown/markdown.service.ts:81` |
313
+ | `MarkdownService.analyze` | 1 | `MarkdownService.analyzeContents` | `packages/ic-suite/codometer/codometer-languages/src/modules/markdown/markdown.service.ts:98` |
314
+ | `MarkdownService.analyzeContents` | 1 | `MarkdownService.walk` | `packages/ic-suite/codometer/codometer-languages/src/modules/markdown/markdown.service.ts:126` |
315
+ | `JupyterService.collectCell` | 1 | `JupyterService.readSource` | `packages/ic-suite/codometer/codometer-languages/src/modules/jupyter/jupyter.service.ts:57` |
316
+ | `ShellService.countLine` | 1 | `ShellService.countStatements` | `packages/ic-suite/codometer/codometer-languages/src/modules/shell/shell.service.ts:45` |
317
+ | `ShellService.analyze` | 1 | `ShellService.countLine` | `packages/ic-suite/codometer/codometer-languages/src/modules/shell/shell.service.ts:93` |
318
+ | `TomlService.countLine` | 1 | `TomlService.countKey` | `packages/ic-suite/codometer/codometer-languages/src/modules/toml/toml.service.ts:61` |
319
+ | `DeclarationCommentsService.getJsDocRange` | 1 | `DeclarationCommentsService.findLast(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/declaration-comments.service.ts:46` |
320
+ | `DeclarationCommentsService.readProse` | 1 | `DeclarationCommentsService.map(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/declaration-comments.service.ts:117` |
321
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleFunction` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:66` |
322
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleEnum` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:71` |
323
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleFunction` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:73` |
324
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleFunction` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:75` |
325
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleMethodOrAccessor` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:77` |
326
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleImport` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:79` |
327
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleInterface` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:81` |
328
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleMethodOrAccessor` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:83` |
329
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleMethodOrAccessor` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:85` |
330
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleTypeAlias` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:87` |
331
+ | `TypescriptService.anonymous` | 1 | `TypescriptService.handleVariable` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:89` |
332
+ | `TypescriptService.collectDeclarationComments` | 1 | `DeclarationCommentsService.measure` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:127` |
333
+ | `TypescriptService.getCountersForFile` | 1 | `TypescriptService.filter(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:240` |
334
+ | `TypescriptService.filter(โ€ฆ)` | 1 | `TypescriptService.some(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:245` |
335
+ | `TypescriptService.handleEnum` | 1 | `TypescriptService.hasExportKeyword` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:292` |
336
+ | `TypescriptService.handleMethodOrAccessor` | 1 | `TypescriptService.hasAsyncKeyword` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:342` |
337
+ | `TypescriptService.handleVariable` | 1 | `TypescriptService.hasExportKeyword` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:364` |
338
+ | `TypescriptService.hasAsyncKeyword` | 1 | `TypescriptService.some(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:376` |
339
+ | `TypescriptService.hasExportKeyword` | 1 | `TypescriptService.some(โ€ฆ)` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:388` |
340
+ | `TypescriptService.scanComments` | 1 | `TypescriptService.countComment` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:412` |
341
+ | `TypescriptService.forEachChild(โ€ฆ)` | 1 | `TypescriptService.walkNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:472` |
342
+ | `TypescriptService.forEachChild(โ€ฆ)` | 1 | `TypescriptService.walkNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/typescript/typescript.service.ts:479` |
343
+ | `YamlService.countCollection` | 1 | `YamlService.countNode` | `packages/ic-suite/codometer/codometer-languages/src/modules/yaml/yaml.service.ts:46` |
344
+ | `YamlService.analyze` | 1 | `YamlService.countDocument` | `packages/ic-suite/codometer/codometer-languages/src/modules/yaml/yaml.service.ts:123` |
345
+
346
+ </details>
347
+ <!-- callidescope:end -->
348
+
349
+ ## ๐Ÿ•ธ๏ธ Codependix
350
+
351
+ 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`.
352
+
353
+ ### Nx Neighborhood
354
+
355
+ <!-- codependix:start name="codependix-nx-projects" -->
356
+ ```mermaid
357
+ graph LR
358
+ codometer_configuration["codometer-configuration"]
359
+ codometer_core["codometer-core"]
360
+ codometer_languages["codometer-languages"]
361
+ codometer_measurement["codometer-measurement"]
362
+ logger["logger"]
363
+ codometer_languages --> codometer_configuration
364
+ codometer_languages --> codometer_core
365
+ codometer_languages --> logger
366
+ codometer_measurement --> codometer_languages
367
+ classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
368
+ class codometer_languages subject
369
+ ```
370
+ <!-- codependix:end name="codependix-nx-projects" -->
371
+
372
+ ### NestJS Module Graph
373
+
374
+ <!-- codependix:start name="codependix-nestjs-modules" -->
375
+ ```mermaid
376
+ flowchart LR
377
+ CommentsModule
378
+ CssModule
379
+ HclModule
380
+ JsonModule
381
+ JupyterModule
382
+ LanguagesModule
383
+ LoggerModule([LoggerModule])
384
+ MarkdownModule
385
+ PythonModule
386
+ ShellModule
387
+ SqlModule
388
+ TomlModule
389
+ TypescriptModule
390
+ YamlModule
391
+ JupyterModule --> JsonModule
392
+ JupyterModule --> MarkdownModule
393
+ JupyterModule --> PythonModule
394
+ LanguagesModule --> CommentsModule
395
+ LanguagesModule --> CssModule
396
+ LanguagesModule --> HclModule
397
+ LanguagesModule --> JsonModule
398
+ LanguagesModule --> JupyterModule
399
+ LanguagesModule --> MarkdownModule
400
+ LanguagesModule --> PythonModule
401
+ LanguagesModule --> ShellModule
402
+ LanguagesModule --> SqlModule
403
+ LanguagesModule --> TomlModule
404
+ LanguagesModule --> TypescriptModule
405
+ LanguagesModule --> YamlModule
406
+ TypescriptModule --> CommentsModule
407
+ ```
408
+
409
+ _Rounded modules are global: every module can inject them, so their edges are left out._
410
+ <!-- codependix:end name="codependix-nestjs-modules" -->
411
+
412
+ ### File Imports
413
+
414
+ <!-- codependix:start name="codependix-file-imports" -->
415
+ ```mermaid
416
+ graph LR
417
+ file_callidescope_config_ts["callidescope.config.ts"]
418
+ file_codependix_config_ts["codependix.config.ts"]
419
+ file_codometer_config_ts["codometer.config.ts"]
420
+ file_eslint_config_ts["eslint.config.ts"]
421
+ file_src_index_ts["src/index.ts"]
422
+ file_src_modules_comments_comments_constants_ts["src/modules/comments/comments.constants.ts"]
423
+ file_src_modules_comments_comments_module_ts["src/modules/comments/comments.module.ts"]
424
+ file_src_modules_comments_comments_module_unit_test_ts["src/modules/comments/comments.module.unit.test.ts"]
425
+ file_src_modules_comments_comments_service_ts["src/modules/comments/comments.service.ts"]
426
+ file_src_modules_comments_comments_service_unit_test_ts["src/modules/comments/comments.service.unit.test.ts"]
427
+ file_src_modules_comments_comments_types_ts["src/modules/comments/comments.types.ts"]
428
+ file_src_modules_comments_css_comments_service_ts["src/modules/comments/css-comments.service.ts"]
429
+ file_src_modules_comments_css_comments_service_unit_test_ts["src/modules/comments/css-comments.service.unit.test.ts"]
430
+ file_src_modules_comments_hash_comments_service_ts["src/modules/comments/hash-comments.service.ts"]
431
+ file_src_modules_comments_hash_comments_service_unit_test_ts["src/modules/comments/hash-comments.service.unit.test.ts"]
432
+ file_src_modules_comments_hcl_comments_service_ts["src/modules/comments/hcl-comments.service.ts"]
433
+ file_src_modules_comments_hcl_comments_service_unit_test_ts["src/modules/comments/hcl-comments.service.unit.test.ts"]
434
+ file_src_modules_comments_language_comments_service_ts["src/modules/comments/language-comments.service.ts"]
435
+ file_src_modules_comments_language_comments_service_unit_test_ts["src/modules/comments/language-comments.service.unit.test.ts"]
436
+ file_src_modules_comments_sql_comments_service_ts["src/modules/comments/sql-comments.service.ts"]
437
+ file_src_modules_comments_sql_comments_service_unit_test_ts["src/modules/comments/sql-comments.service.unit.test.ts"]
438
+ file_src_modules_comments_typescript_comments_constants_ts["src/modules/comments/typescript-comments.constants.ts"]
439
+ file_src_modules_comments_typescript_comments_service_ts["src/modules/comments/typescript-comments.service.ts"]
440
+ file_src_modules_comments_typescript_comments_service_unit_test_ts["src/modules/comments/typescript-comments.service.unit.test.ts"]
441
+ file_src_modules_comments_yaml_comments_service_ts["src/modules/comments/yaml-comments.service.ts"]
442
+ file_src_modules_comments_yaml_comments_service_unit_test_ts["src/modules/comments/yaml-comments.service.unit.test.ts"]
443
+ file_src_modules_css_css_constants_ts["src/modules/css/css.constants.ts"]
444
+ file_src_modules_css_css_module_ts["src/modules/css/css.module.ts"]
445
+ file_src_modules_css_css_module_unit_test_ts["src/modules/css/css.module.unit.test.ts"]
446
+ file_src_modules_css_css_service_ts["src/modules/css/css.service.ts"]
447
+ file_src_modules_css_css_service_unit_test_ts["src/modules/css/css.service.unit.test.ts"]
448
+ file_src_modules_css_css_types_ts["src/modules/css/css.types.ts"]
449
+ file_src_modules_hcl_hcl_constants_ts["src/modules/hcl/hcl.constants.ts"]
450
+ file_src_modules_hcl_hcl_module_ts["src/modules/hcl/hcl.module.ts"]
451
+ file_src_modules_hcl_hcl_module_unit_test_ts["src/modules/hcl/hcl.module.unit.test.ts"]
452
+ file_src_modules_hcl_hcl_service_ts["src/modules/hcl/hcl.service.ts"]
453
+ file_src_modules_hcl_hcl_service_unit_test_ts["src/modules/hcl/hcl.service.unit.test.ts"]
454
+ file_src_modules_hcl_hcl_types_ts["src/modules/hcl/hcl.types.ts"]
455
+ file_src_modules_json_json_constants_ts["src/modules/json/json.constants.ts"]
456
+ file_src_modules_json_json_module_ts["src/modules/json/json.module.ts"]
457
+ file_src_modules_json_json_module_unit_test_ts["src/modules/json/json.module.unit.test.ts"]
458
+ file_src_modules_json_json_service_ts["src/modules/json/json.service.ts"]
459
+ file_src_modules_json_json_service_unit_test_ts["src/modules/json/json.service.unit.test.ts"]
460
+ file_src_modules_json_json_types_ts["src/modules/json/json.types.ts"]
461
+ file_src_modules_jupyter_jupyter_constants_ts["src/modules/jupyter/jupyter.constants.ts"]
462
+ file_src_modules_jupyter_jupyter_module_ts["src/modules/jupyter/jupyter.module.ts"]
463
+ file_src_modules_jupyter_jupyter_module_unit_test_ts["src/modules/jupyter/jupyter.module.unit.test.ts"]
464
+ file_src_modules_jupyter_jupyter_service_ts["src/modules/jupyter/jupyter.service.ts"]
465
+ file_src_modules_jupyter_jupyter_service_unit_test_ts["src/modules/jupyter/jupyter.service.unit.test.ts"]
466
+ file_src_modules_jupyter_jupyter_types_ts["src/modules/jupyter/jupyter.types.ts"]
467
+ file_src_modules_languages_languages_constants_ts["src/modules/languages/languages.constants.ts"]
468
+ file_src_modules_languages_languages_module_ts["src/modules/languages/languages.module.ts"]
469
+ file_src_modules_languages_languages_module_unit_test_ts["src/modules/languages/languages.module.unit.test.ts"]
470
+ file_src_modules_languages_languages_service_ts["src/modules/languages/languages.service.ts"]
471
+ file_src_modules_languages_languages_service_unit_test_ts["src/modules/languages/languages.service.unit.test.ts"]
472
+ file_src_modules_languages_languages_types_ts["src/modules/languages/languages.types.ts"]
473
+ file_src_modules_markdown_markdown_constants_ts["src/modules/markdown/markdown.constants.ts"]
474
+ file_src_modules_markdown_markdown_module_ts["src/modules/markdown/markdown.module.ts"]
475
+ file_src_modules_markdown_markdown_module_unit_test_ts["src/modules/markdown/markdown.module.unit.test.ts"]
476
+ file_src_modules_markdown_markdown_service_ts["src/modules/markdown/markdown.service.ts"]
477
+ file_src_modules_markdown_markdown_service_unit_test_ts["src/modules/markdown/markdown.service.unit.test.ts"]
478
+ file_src_modules_markdown_markdown_types_ts["src/modules/markdown/markdown.types.ts"]
479
+ file_src_modules_python_python_constants_ts["src/modules/python/python.constants.ts"]
480
+ file_src_modules_python_python_module_ts["src/modules/python/python.module.ts"]
481
+ file_src_modules_python_python_module_unit_test_ts["src/modules/python/python.module.unit.test.ts"]
482
+ file_src_modules_python_python_service_ts["src/modules/python/python.service.ts"]
483
+ file_src_modules_python_python_service_unit_test_ts["src/modules/python/python.service.unit.test.ts"]
484
+ file_src_modules_python_python_types_ts["src/modules/python/python.types.ts"]
485
+ file_src_modules_shell_shell_constants_ts["src/modules/shell/shell.constants.ts"]
486
+ file_src_modules_shell_shell_module_ts["src/modules/shell/shell.module.ts"]
487
+ file_src_modules_shell_shell_module_unit_test_ts["src/modules/shell/shell.module.unit.test.ts"]
488
+ file_src_modules_shell_shell_service_ts["src/modules/shell/shell.service.ts"]
489
+ file_src_modules_shell_shell_service_unit_test_ts["src/modules/shell/shell.service.unit.test.ts"]
490
+ file_src_modules_shell_shell_types_ts["src/modules/shell/shell.types.ts"]
491
+ file_src_modules_sql_sql_constants_ts["src/modules/sql/sql.constants.ts"]
492
+ file_src_modules_sql_sql_module_ts["src/modules/sql/sql.module.ts"]
493
+ file_src_modules_sql_sql_module_unit_test_ts["src/modules/sql/sql.module.unit.test.ts"]
494
+ file_src_modules_sql_sql_service_ts["src/modules/sql/sql.service.ts"]
495
+ file_src_modules_sql_sql_service_unit_test_ts["src/modules/sql/sql.service.unit.test.ts"]
496
+ file_src_modules_sql_sql_types_ts["src/modules/sql/sql.types.ts"]
497
+ file_src_modules_toml_toml_constants_ts["src/modules/toml/toml.constants.ts"]
498
+ file_src_modules_toml_toml_module_ts["src/modules/toml/toml.module.ts"]
499
+ file_src_modules_toml_toml_module_unit_test_ts["src/modules/toml/toml.module.unit.test.ts"]
500
+ file_src_modules_toml_toml_service_ts["src/modules/toml/toml.service.ts"]
501
+ file_src_modules_toml_toml_service_unit_test_ts["src/modules/toml/toml.service.unit.test.ts"]
502
+ file_src_modules_toml_toml_types_ts["src/modules/toml/toml.types.ts"]
503
+ file_src_modules_typescript_declaration_comments_service_ts["src/modules/typescript/declaration-comments.service.ts"]
504
+ file_src_modules_typescript_declaration_comments_service_unit_test_ts["src/modules/typescript/declaration-comments.service.unit.test.ts"]
505
+ file_src_modules_typescript_typescript_constants_ts["src/modules/typescript/typescript.constants.ts"]
506
+ file_src_modules_typescript_typescript_module_ts["src/modules/typescript/typescript.module.ts"]
507
+ file_src_modules_typescript_typescript_module_unit_test_ts["src/modules/typescript/typescript.module.unit.test.ts"]
508
+ file_src_modules_typescript_typescript_service_ts["src/modules/typescript/typescript.service.ts"]
509
+ file_src_modules_typescript_typescript_service_unit_test_ts["src/modules/typescript/typescript.service.unit.test.ts"]
510
+ file_src_modules_typescript_typescript_types_ts["src/modules/typescript/typescript.types.ts"]
511
+ file_src_modules_yaml_yaml_constants_ts["src/modules/yaml/yaml.constants.ts"]
512
+ file_src_modules_yaml_yaml_module_ts["src/modules/yaml/yaml.module.ts"]
513
+ file_src_modules_yaml_yaml_module_unit_test_ts["src/modules/yaml/yaml.module.unit.test.ts"]
514
+ file_src_modules_yaml_yaml_service_ts["src/modules/yaml/yaml.service.ts"]
515
+ file_src_modules_yaml_yaml_service_unit_test_ts["src/modules/yaml/yaml.service.unit.test.ts"]
516
+ file_src_modules_yaml_yaml_types_ts["src/modules/yaml/yaml.types.ts"]
517
+ file_testing_mocks_ts["testing/mocks.ts"]
518
+ file_testing_setup_ts["testing/setup.ts"]
519
+ file_vite_config_ts["vite.config.ts"]
520
+ file_vitest_config_ts["vitest.config.ts"]
521
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_comments_service_ts
522
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_css_comments_service_ts
523
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_hash_comments_service_ts
524
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_hcl_comments_service_ts
525
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_language_comments_service_ts
526
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_sql_comments_service_ts
527
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_typescript_comments_service_ts
528
+ file_src_modules_comments_comments_module_ts --> file_src_modules_comments_yaml_comments_service_ts
529
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_comments_module_ts
530
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_comments_service_ts
531
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_css_comments_service_ts
532
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_hash_comments_service_ts
533
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_hcl_comments_service_ts
534
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_language_comments_service_ts
535
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_sql_comments_service_ts
536
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_typescript_comments_service_ts
537
+ file_src_modules_comments_comments_module_unit_test_ts --> file_src_modules_comments_yaml_comments_service_ts
538
+ file_src_modules_comments_comments_service_ts --> file_src_modules_comments_comments_constants_ts
539
+ file_src_modules_comments_comments_service_ts --> file_src_modules_comments_comments_types_ts
540
+ file_src_modules_comments_comments_service_unit_test_ts --> file_src_modules_comments_comments_service_ts
541
+ file_src_modules_comments_comments_service_unit_test_ts --> file_src_modules_comments_comments_types_ts
542
+ file_src_modules_comments_comments_service_unit_test_ts --> file_src_modules_comments_hash_comments_service_ts
543
+ file_src_modules_comments_css_comments_service_ts --> file_src_modules_comments_comments_types_ts
544
+ file_src_modules_comments_css_comments_service_unit_test_ts --> file_src_modules_comments_css_comments_service_ts
545
+ file_src_modules_comments_hash_comments_service_ts --> file_src_modules_comments_comments_constants_ts
546
+ file_src_modules_comments_hash_comments_service_ts --> file_src_modules_comments_comments_types_ts
547
+ file_src_modules_comments_hash_comments_service_unit_test_ts --> file_src_modules_comments_hash_comments_service_ts
548
+ file_src_modules_comments_hcl_comments_service_ts --> file_src_modules_comments_comments_constants_ts
549
+ file_src_modules_comments_hcl_comments_service_ts --> file_src_modules_comments_comments_types_ts
550
+ file_src_modules_comments_hcl_comments_service_unit_test_ts --> file_src_modules_comments_hcl_comments_service_ts
551
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_comments_service_ts
552
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_comments_types_ts
553
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_css_comments_service_ts
554
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_hash_comments_service_ts
555
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_hcl_comments_service_ts
556
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_sql_comments_service_ts
557
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_typescript_comments_service_ts
558
+ file_src_modules_comments_language_comments_service_ts --> file_src_modules_comments_yaml_comments_service_ts
559
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_comments_service_ts
560
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_comments_types_ts
561
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_css_comments_service_ts
562
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_hash_comments_service_ts
563
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_hcl_comments_service_ts
564
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_language_comments_service_ts
565
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_sql_comments_service_ts
566
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_typescript_comments_service_ts
567
+ file_src_modules_comments_language_comments_service_unit_test_ts --> file_src_modules_comments_yaml_comments_service_ts
568
+ file_src_modules_comments_sql_comments_service_ts --> file_src_modules_comments_comments_types_ts
569
+ file_src_modules_comments_sql_comments_service_ts --> file_src_modules_sql_sql_constants_ts
570
+ file_src_modules_comments_sql_comments_service_unit_test_ts --> file_src_modules_comments_sql_comments_service_ts
571
+ file_src_modules_comments_typescript_comments_service_ts --> file_src_modules_comments_comments_types_ts
572
+ file_src_modules_comments_typescript_comments_service_ts --> file_src_modules_comments_typescript_comments_constants_ts
573
+ file_src_modules_comments_typescript_comments_service_unit_test_ts --> file_src_modules_comments_typescript_comments_service_ts
574
+ file_src_modules_comments_yaml_comments_service_ts --> file_src_modules_comments_comments_constants_ts
575
+ file_src_modules_comments_yaml_comments_service_ts --> file_src_modules_comments_comments_types_ts
576
+ file_src_modules_comments_yaml_comments_service_unit_test_ts --> file_src_modules_comments_yaml_comments_service_ts
577
+ file_src_modules_css_css_constants_ts --> file_src_modules_css_css_types_ts
578
+ file_src_modules_css_css_module_ts --> file_src_modules_css_css_service_ts
579
+ file_src_modules_css_css_module_unit_test_ts --> file_src_modules_css_css_module_ts
580
+ file_src_modules_css_css_module_unit_test_ts --> file_src_modules_css_css_service_ts
581
+ file_src_modules_css_css_service_ts --> file_src_modules_css_css_constants_ts
582
+ file_src_modules_css_css_service_ts --> file_src_modules_css_css_types_ts
583
+ file_src_modules_css_css_service_unit_test_ts --> file_src_modules_css_css_service_ts
584
+ file_src_modules_hcl_hcl_constants_ts --> file_src_modules_hcl_hcl_types_ts
585
+ file_src_modules_hcl_hcl_module_ts --> file_src_modules_hcl_hcl_service_ts
586
+ file_src_modules_hcl_hcl_module_unit_test_ts --> file_src_modules_hcl_hcl_module_ts
587
+ file_src_modules_hcl_hcl_module_unit_test_ts --> file_src_modules_hcl_hcl_service_ts
588
+ file_src_modules_hcl_hcl_service_ts --> file_src_modules_hcl_hcl_constants_ts
589
+ file_src_modules_hcl_hcl_service_ts --> file_src_modules_hcl_hcl_types_ts
590
+ file_src_modules_hcl_hcl_service_unit_test_ts --> file_src_modules_hcl_hcl_service_ts
591
+ file_src_modules_json_json_constants_ts --> file_src_modules_json_json_types_ts
592
+ file_src_modules_json_json_module_ts --> file_src_modules_json_json_service_ts
593
+ file_src_modules_json_json_module_unit_test_ts --> file_src_modules_json_json_module_ts
594
+ file_src_modules_json_json_module_unit_test_ts --> file_src_modules_json_json_service_ts
595
+ file_src_modules_json_json_service_ts --> file_src_modules_json_json_constants_ts
596
+ file_src_modules_json_json_service_ts --> file_src_modules_json_json_types_ts
597
+ file_src_modules_json_json_service_unit_test_ts --> file_src_modules_json_json_service_ts
598
+ file_src_modules_jupyter_jupyter_constants_ts --> file_src_modules_jupyter_jupyter_types_ts
599
+ file_src_modules_jupyter_jupyter_module_ts --> file_src_modules_json_json_module_ts
600
+ file_src_modules_jupyter_jupyter_module_ts --> file_src_modules_jupyter_jupyter_service_ts
601
+ file_src_modules_jupyter_jupyter_module_ts --> file_src_modules_markdown_markdown_module_ts
602
+ file_src_modules_jupyter_jupyter_module_ts --> file_src_modules_python_python_module_ts
603
+ file_src_modules_jupyter_jupyter_module_unit_test_ts --> file_src_modules_jupyter_jupyter_module_ts
604
+ file_src_modules_jupyter_jupyter_module_unit_test_ts --> file_src_modules_jupyter_jupyter_service_ts
605
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_json_json_service_ts
606
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_jupyter_jupyter_constants_ts
607
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_jupyter_jupyter_types_ts
608
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_markdown_markdown_service_ts
609
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_markdown_markdown_types_ts
610
+ file_src_modules_jupyter_jupyter_service_ts --> file_src_modules_python_python_service_ts
611
+ file_src_modules_jupyter_jupyter_service_unit_test_ts --> file_src_modules_json_json_service_ts
612
+ file_src_modules_jupyter_jupyter_service_unit_test_ts --> file_src_modules_jupyter_jupyter_service_ts
613
+ file_src_modules_jupyter_jupyter_service_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
614
+ file_src_modules_jupyter_jupyter_service_unit_test_ts --> file_src_modules_python_python_constants_ts
615
+ file_src_modules_jupyter_jupyter_service_unit_test_ts --> file_src_modules_python_python_service_ts
616
+ file_src_modules_languages_languages_module_ts --> file_src_modules_comments_comments_module_ts
617
+ file_src_modules_languages_languages_module_ts --> file_src_modules_css_css_module_ts
618
+ file_src_modules_languages_languages_module_ts --> file_src_modules_hcl_hcl_module_ts
619
+ file_src_modules_languages_languages_module_ts --> file_src_modules_json_json_module_ts
620
+ file_src_modules_languages_languages_module_ts --> file_src_modules_jupyter_jupyter_module_ts
621
+ file_src_modules_languages_languages_module_ts --> file_src_modules_languages_languages_service_ts
622
+ file_src_modules_languages_languages_module_ts --> file_src_modules_markdown_markdown_module_ts
623
+ file_src_modules_languages_languages_module_ts --> file_src_modules_python_python_module_ts
624
+ file_src_modules_languages_languages_module_ts --> file_src_modules_shell_shell_module_ts
625
+ file_src_modules_languages_languages_module_ts --> file_src_modules_sql_sql_module_ts
626
+ file_src_modules_languages_languages_module_ts --> file_src_modules_toml_toml_module_ts
627
+ file_src_modules_languages_languages_module_ts --> file_src_modules_typescript_typescript_module_ts
628
+ file_src_modules_languages_languages_module_ts --> file_src_modules_yaml_yaml_module_ts
629
+ file_src_modules_languages_languages_module_unit_test_ts --> file_src_modules_languages_languages_module_ts
630
+ file_src_modules_languages_languages_module_unit_test_ts --> file_src_modules_languages_languages_service_ts
631
+ file_src_modules_languages_languages_service_ts --> file_src_modules_comments_language_comments_service_ts
632
+ file_src_modules_languages_languages_service_ts --> file_src_modules_css_css_service_ts
633
+ file_src_modules_languages_languages_service_ts --> file_src_modules_hcl_hcl_service_ts
634
+ file_src_modules_languages_languages_service_ts --> file_src_modules_json_json_service_ts
635
+ file_src_modules_languages_languages_service_ts --> file_src_modules_jupyter_jupyter_service_ts
636
+ file_src_modules_languages_languages_service_ts --> file_src_modules_languages_languages_types_ts
637
+ file_src_modules_languages_languages_service_ts --> file_src_modules_markdown_markdown_service_ts
638
+ file_src_modules_languages_languages_service_ts --> file_src_modules_python_python_service_ts
639
+ file_src_modules_languages_languages_service_ts --> file_src_modules_shell_shell_service_ts
640
+ file_src_modules_languages_languages_service_ts --> file_src_modules_sql_sql_service_ts
641
+ file_src_modules_languages_languages_service_ts --> file_src_modules_toml_toml_service_ts
642
+ file_src_modules_languages_languages_service_ts --> file_src_modules_typescript_typescript_service_ts
643
+ file_src_modules_languages_languages_service_ts --> file_src_modules_yaml_yaml_service_ts
644
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_comments_service_ts
645
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_comments_types_ts
646
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_css_comments_service_ts
647
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_hash_comments_service_ts
648
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_hcl_comments_service_ts
649
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_language_comments_service_ts
650
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_sql_comments_service_ts
651
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_typescript_comments_service_ts
652
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_comments_yaml_comments_service_ts
653
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_css_css_service_ts
654
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_hcl_hcl_service_ts
655
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_json_json_service_ts
656
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_jupyter_jupyter_service_ts
657
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_languages_languages_service_ts
658
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_languages_languages_types_ts
659
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
660
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_python_python_service_ts
661
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_shell_shell_service_ts
662
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_sql_sql_service_ts
663
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_toml_toml_service_ts
664
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_typescript_typescript_service_ts
665
+ file_src_modules_languages_languages_service_unit_test_ts --> file_src_modules_yaml_yaml_service_ts
666
+ file_src_modules_languages_languages_types_ts --> file_src_modules_comments_comments_types_ts
667
+ file_src_modules_languages_languages_types_ts --> file_src_modules_css_css_types_ts
668
+ file_src_modules_languages_languages_types_ts --> file_src_modules_hcl_hcl_types_ts
669
+ file_src_modules_languages_languages_types_ts --> file_src_modules_json_json_types_ts
670
+ file_src_modules_languages_languages_types_ts --> file_src_modules_jupyter_jupyter_types_ts
671
+ file_src_modules_languages_languages_types_ts --> file_src_modules_markdown_markdown_types_ts
672
+ file_src_modules_languages_languages_types_ts --> file_src_modules_python_python_types_ts
673
+ file_src_modules_languages_languages_types_ts --> file_src_modules_shell_shell_types_ts
674
+ file_src_modules_languages_languages_types_ts --> file_src_modules_sql_sql_types_ts
675
+ file_src_modules_languages_languages_types_ts --> file_src_modules_toml_toml_types_ts
676
+ file_src_modules_languages_languages_types_ts --> file_src_modules_typescript_typescript_types_ts
677
+ file_src_modules_languages_languages_types_ts --> file_src_modules_yaml_yaml_types_ts
678
+ file_src_modules_markdown_markdown_constants_ts --> file_src_modules_markdown_markdown_types_ts
679
+ file_src_modules_markdown_markdown_module_ts --> file_src_modules_markdown_markdown_service_ts
680
+ file_src_modules_markdown_markdown_module_unit_test_ts --> file_src_modules_markdown_markdown_module_ts
681
+ file_src_modules_markdown_markdown_module_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
682
+ file_src_modules_markdown_markdown_service_ts --> file_src_modules_markdown_markdown_constants_ts
683
+ file_src_modules_markdown_markdown_service_ts --> file_src_modules_markdown_markdown_types_ts
684
+ file_src_modules_markdown_markdown_service_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
685
+ file_src_modules_python_python_constants_ts --> file_src_modules_python_python_types_ts
686
+ file_src_modules_python_python_module_ts --> file_src_modules_python_python_service_ts
687
+ file_src_modules_python_python_module_unit_test_ts --> file_src_modules_python_python_module_ts
688
+ file_src_modules_python_python_module_unit_test_ts --> file_src_modules_python_python_service_ts
689
+ file_src_modules_python_python_service_ts --> file_src_modules_python_python_constants_ts
690
+ file_src_modules_python_python_service_ts --> file_src_modules_python_python_types_ts
691
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_constants_ts
692
+ file_src_modules_python_python_service_unit_test_ts --> file_src_modules_python_python_service_ts
693
+ file_src_modules_python_python_types_ts --> file_src_modules_comments_comments_types_ts
694
+ file_src_modules_shell_shell_constants_ts --> file_src_modules_shell_shell_types_ts
695
+ file_src_modules_shell_shell_module_ts --> file_src_modules_shell_shell_service_ts
696
+ file_src_modules_shell_shell_module_unit_test_ts --> file_src_modules_shell_shell_module_ts
697
+ file_src_modules_shell_shell_module_unit_test_ts --> file_src_modules_shell_shell_service_ts
698
+ file_src_modules_shell_shell_service_ts --> file_src_modules_shell_shell_constants_ts
699
+ file_src_modules_shell_shell_service_ts --> file_src_modules_shell_shell_types_ts
700
+ file_src_modules_shell_shell_service_unit_test_ts --> file_src_modules_shell_shell_service_ts
701
+ file_src_modules_sql_sql_constants_ts --> file_src_modules_sql_sql_types_ts
702
+ file_src_modules_sql_sql_module_ts --> file_src_modules_sql_sql_service_ts
703
+ file_src_modules_sql_sql_module_unit_test_ts --> file_src_modules_sql_sql_module_ts
704
+ file_src_modules_sql_sql_module_unit_test_ts --> file_src_modules_sql_sql_service_ts
705
+ file_src_modules_sql_sql_service_ts --> file_src_modules_sql_sql_constants_ts
706
+ file_src_modules_sql_sql_service_ts --> file_src_modules_sql_sql_types_ts
707
+ file_src_modules_sql_sql_service_unit_test_ts --> file_src_modules_sql_sql_service_ts
708
+ file_src_modules_toml_toml_constants_ts --> file_src_modules_toml_toml_types_ts
709
+ file_src_modules_toml_toml_module_ts --> file_src_modules_toml_toml_service_ts
710
+ file_src_modules_toml_toml_module_unit_test_ts --> file_src_modules_toml_toml_module_ts
711
+ file_src_modules_toml_toml_module_unit_test_ts --> file_src_modules_toml_toml_service_ts
712
+ file_src_modules_toml_toml_service_ts --> file_src_modules_toml_toml_constants_ts
713
+ file_src_modules_toml_toml_service_ts --> file_src_modules_toml_toml_types_ts
714
+ file_src_modules_toml_toml_service_unit_test_ts --> file_src_modules_toml_toml_service_ts
715
+ file_src_modules_typescript_declaration_comments_service_ts --> file_src_modules_comments_comments_service_ts
716
+ file_src_modules_typescript_declaration_comments_service_ts --> file_src_modules_comments_comments_types_ts
717
+ file_src_modules_typescript_declaration_comments_service_ts --> file_src_modules_typescript_typescript_constants_ts
718
+ file_src_modules_typescript_declaration_comments_service_ts --> file_src_modules_typescript_typescript_types_ts
719
+ file_src_modules_typescript_declaration_comments_service_unit_test_ts --> file_src_modules_comments_comments_service_ts
720
+ file_src_modules_typescript_declaration_comments_service_unit_test_ts --> file_src_modules_comments_comments_types_ts
721
+ file_src_modules_typescript_declaration_comments_service_unit_test_ts --> file_src_modules_typescript_declaration_comments_service_ts
722
+ file_src_modules_typescript_declaration_comments_service_unit_test_ts --> file_src_modules_typescript_typescript_types_ts
723
+ file_src_modules_typescript_typescript_constants_ts --> file_src_modules_typescript_typescript_types_ts
724
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_comments_comments_module_ts
725
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_typescript_declaration_comments_service_ts
726
+ file_src_modules_typescript_typescript_module_ts --> file_src_modules_typescript_typescript_service_ts
727
+ file_src_modules_typescript_typescript_module_unit_test_ts --> file_src_modules_typescript_declaration_comments_service_ts
728
+ file_src_modules_typescript_typescript_module_unit_test_ts --> file_src_modules_typescript_typescript_module_ts
729
+ file_src_modules_typescript_typescript_module_unit_test_ts --> file_src_modules_typescript_typescript_service_ts
730
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_comments_comments_types_ts
731
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_declaration_comments_service_ts
732
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_typescript_constants_ts
733
+ file_src_modules_typescript_typescript_service_ts --> file_src_modules_typescript_typescript_types_ts
734
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_comments_comments_service_ts
735
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_comments_comments_types_ts
736
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_declaration_comments_service_ts
737
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_service_ts
738
+ file_src_modules_typescript_typescript_service_unit_test_ts --> file_src_modules_typescript_typescript_types_ts
739
+ file_src_modules_typescript_typescript_types_ts --> file_src_modules_comments_comments_types_ts
740
+ file_src_modules_yaml_yaml_constants_ts --> file_src_modules_yaml_yaml_types_ts
741
+ file_src_modules_yaml_yaml_module_ts --> file_src_modules_yaml_yaml_service_ts
742
+ file_src_modules_yaml_yaml_module_unit_test_ts --> file_src_modules_yaml_yaml_module_ts
743
+ file_src_modules_yaml_yaml_module_unit_test_ts --> file_src_modules_yaml_yaml_service_ts
744
+ file_src_modules_yaml_yaml_service_ts --> file_src_modules_yaml_yaml_constants_ts
745
+ file_src_modules_yaml_yaml_service_ts --> file_src_modules_yaml_yaml_types_ts
746
+ file_src_modules_yaml_yaml_service_unit_test_ts --> file_src_modules_yaml_yaml_service_ts
747
+ ```
748
+ <!-- codependix:end name="codependix-file-imports" -->
749
+
750
+ <!-- codometer:start -->
751
+
752
+ ## โฒ๏ธ Codometer
753
+
754
+ ### Project
755
+
756
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-10315-22c55e?style=flat-square)
757
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-313.54_kB-6b7280?style=flat-square)
758
+ ![Folders](https://img.shields.io/badge/Folders-16-4a4a4a?style=flat-square)
759
+ ![Source Files](https://img.shields.io/badge/Source_Files-105-3178c6?style=flat-square)
760
+
761
+ ### Measured Targets
762
+
763
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-13.25_kB_gzip-6b7280?style=flat-square)
764
+
765
+ ### TypeScript
766
+
767
+ ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-104-3178c6?style=flat-square)
768
+ ![Interfaces](https://img.shields.io/badge/Interfaces-45-0ea5e9?style=flat-square)
769
+ ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-0-0369a1?style=flat-square)
770
+ ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
771
+ ![Decorators](https://img.shields.io/badge/Decorators-34-db2777?style=flat-square)
772
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-266-6366f1?style=flat-square)
773
+ ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
774
+
775
+ ### JavaScript
776
+
777
+ ![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-0-f7df1e?style=flat-square)
778
+ ![Test Files](https://img.shields.io/badge/Test_Files-34-10b981?style=flat-square)
779
+ ![External Packages](https://img.shields.io/badge/External_Packages-21-8b5cf6?style=flat-square)
780
+ ![Classes](https://img.shields.io/badge/Classes-34-7c3aed?style=flat-square)
781
+ ![Functions](https://img.shields.io/badge/Functions-370-16a34a?style=flat-square)
782
+ ![Methods](https://img.shields.io/badge/Methods-189-15803d?style=flat-square)
783
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-527-4ade80?style=flat-square)
784
+ ![Async Functions](https://img.shields.io/badge/Async_Functions-32-059669?style=flat-square)
785
+ ![Constants](https://img.shields.io/badge/Constants-544-dc2626?style=flat-square)
786
+ ![Imports](https://img.shields.io/badge/Imports-499-0284c7?style=flat-square)
787
+ ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-126-ea580c?style=flat-square)
788
+ ![Comments](https://img.shields.io/badge/Comments-563-64748b?style=flat-square)
789
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-994-475569?style=flat-square)
790
+ ![TODO Comments](https://img.shields.io/badge/TODO_Comments-3-ca8a04?style=flat-square)
791
+
792
+ ### Python
793
+
794
+ ![Python Files](https://img.shields.io/badge/Python_Files-1-3776ab?style=flat-square)
795
+ ![Python Lines](https://img.shields.io/badge/Python_Lines-118-4b8bbe?style=flat-square)
796
+ ![Python Classes](https://img.shields.io/badge/Python_Classes-0-7c3aed?style=flat-square)
797
+ ![Python Functions](https://img.shields.io/badge/Python_Functions-4-16a34a?style=flat-square)
798
+ ![Python Protocols](https://img.shields.io/badge/Python_Protocols-0-0ea5e9?style=flat-square)
799
+ ![Python Constants](https://img.shields.io/badge/Python_Constants-1-dc2626?style=flat-square)
800
+ ![Python Imports](https://img.shields.io/badge/Python_Imports-7-0284c7?style=flat-square)
801
+ ![Python Decorators](https://img.shields.io/badge/Python_Decorators-0-db2777?style=flat-square)
802
+ ![Docstrings](https://img.shields.io/badge/Docstrings-3-6366f1?style=flat-square)
803
+ ![Docstring Lines](https://img.shields.io/badge/Docstring_Lines-19-818cf8?style=flat-square)
804
+ ![Python Comments](https://img.shields.io/badge/Python_Comments-1-64748b?style=flat-square)
805
+ ![Python Comment Lines](https://img.shields.io/badge/Python_Comment_Lines-1-475569?style=flat-square)
806
+
807
+ ### JSON
808
+
809
+ ![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square)
810
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-175-ca8a04?style=flat-square)
811
+ ![JSON Objects](https://img.shields.io/badge/JSON_Objects-38-7c3aed?style=flat-square)
812
+ ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-13-8b5cf6?style=flat-square)
813
+ ![JSON Properties](https://img.shields.io/badge/JSON_Properties-112-0284c7?style=flat-square)
814
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-100-16a34a?style=flat-square)
815
+ ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square)
816
+ ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-7-0ea5e9?style=flat-square)
817
+ ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
818
+ ![JSON Items](https://img.shields.io/badge/JSON_Items-43-475569?style=flat-square)
819
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-159-dc2626?style=flat-square)
820
+ ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-5-ea580c?style=flat-square)
821
+
822
+ ### YAML
823
+
824
+ ![YAML Files](https://img.shields.io/badge/YAML_Files-0-cb171e?style=flat-square)
825
+ ![YAML Lines](https://img.shields.io/badge/YAML_Lines-0-e34c26?style=flat-square)
826
+ ![YAML Documents](https://img.shields.io/badge/YAML_Documents-0-f97316?style=flat-square)
827
+ ![YAML Mappings](https://img.shields.io/badge/YAML_Mappings-0-7c3aed?style=flat-square)
828
+ ![YAML Sequences](https://img.shields.io/badge/YAML_Sequences-0-8b5cf6?style=flat-square)
829
+ ![YAML Keys](https://img.shields.io/badge/YAML_Keys-0-0284c7?style=flat-square)
830
+ ![YAML Scalars](https://img.shields.io/badge/YAML_Scalars-0-16a34a?style=flat-square)
831
+ ![YAML Anchors](https://img.shields.io/badge/YAML_Anchors-0-059669?style=flat-square)
832
+ ![YAML Aliases](https://img.shields.io/badge/YAML_Aliases-0-10b981?style=flat-square)
833
+ ![YAML Comments](https://img.shields.io/badge/YAML_Comments-0-64748b?style=flat-square)
834
+ ![YAML Max Depth](https://img.shields.io/badge/YAML_Max_Depth-0-ea580c?style=flat-square)
835
+
836
+ ### TOML
837
+
838
+ ![TOML Files](https://img.shields.io/badge/TOML_Files-0-9c4221?style=flat-square)
839
+ ![TOML Lines](https://img.shields.io/badge/TOML_Lines-0-b45309?style=flat-square)
840
+ ![TOML Tables](https://img.shields.io/badge/TOML_Tables-0-7c3aed?style=flat-square)
841
+ ![TOML Array Tables](https://img.shields.io/badge/TOML_Array_Tables-0-8b5cf6?style=flat-square)
842
+ ![TOML Keys](https://img.shields.io/badge/TOML_Keys-0-0284c7?style=flat-square)
843
+ ![TOML Arrays](https://img.shields.io/badge/TOML_Arrays-0-16a34a?style=flat-square)
844
+ ![TOML Comments](https://img.shields.io/badge/TOML_Comments-0-64748b?style=flat-square)
845
+
846
+ ### Shell
847
+
848
+ ![Shell Files](https://img.shields.io/badge/Shell_Files-0-89e051?style=flat-square)
849
+ ![Shell Lines](https://img.shields.io/badge/Shell_Lines-0-4eaa25?style=flat-square)
850
+ ![Shell Functions](https://img.shields.io/badge/Shell_Functions-0-16a34a?style=flat-square)
851
+ ![Shell Variables](https://img.shields.io/badge/Shell_Variables-0-0284c7?style=flat-square)
852
+ ![Shell Exports](https://img.shields.io/badge/Shell_Exports-0-ea580c?style=flat-square)
853
+ ![Shell Conditionals](https://img.shields.io/badge/Shell_Conditionals-0-7c3aed?style=flat-square)
854
+ ![Shell Loops](https://img.shields.io/badge/Shell_Loops-0-8b5cf6?style=flat-square)
855
+ ![Shell Pipelines](https://img.shields.io/badge/Shell_Pipelines-0-059669?style=flat-square)
856
+ ![Shebangs](https://img.shields.io/badge/Shebangs-0-6b7280?style=flat-square)
857
+ ![Shell Comments](https://img.shields.io/badge/Shell_Comments-0-64748b?style=flat-square)
858
+ ![Shell Comment Lines](https://img.shields.io/badge/Shell_Comment_Lines-0-475569?style=flat-square)
859
+
860
+ ### SQL
861
+
862
+ ![SQL Files](https://img.shields.io/badge/SQL_Files-0-e38c00?style=flat-square)
863
+ ![SQL Lines](https://img.shields.io/badge/SQL_Lines-0-f29111?style=flat-square)
864
+ ![SQL Statements](https://img.shields.io/badge/SQL_Statements-0-7c3aed?style=flat-square)
865
+ ![SQL Selects](https://img.shields.io/badge/SQL_Selects-0-16a34a?style=flat-square)
866
+ ![SQL Inserts](https://img.shields.io/badge/SQL_Inserts-0-22c55e?style=flat-square)
867
+ ![SQL Updates](https://img.shields.io/badge/SQL_Updates-0-0ea5e9?style=flat-square)
868
+ ![SQL Deletes](https://img.shields.io/badge/SQL_Deletes-0-dc2626?style=flat-square)
869
+ ![SQL Creates](https://img.shields.io/badge/SQL_Creates-0-0284c7?style=flat-square)
870
+ ![SQL Joins](https://img.shields.io/badge/SQL_Joins-0-8b5cf6?style=flat-square)
871
+ ![SQL CTEs](https://img.shields.io/badge/SQL_CTEs-0-059669?style=flat-square)
872
+ ![SQL Comments](https://img.shields.io/badge/SQL_Comments-0-64748b?style=flat-square)
873
+
874
+ ### HCL
875
+
876
+ ![HCL Files](https://img.shields.io/badge/HCL_Files-0-844fba?style=flat-square)
877
+ ![HCL Lines](https://img.shields.io/badge/HCL_Lines-0-a78bfa?style=flat-square)
878
+ ![HCL Blocks](https://img.shields.io/badge/HCL_Blocks-0-7c3aed?style=flat-square)
879
+ ![HCL Resources](https://img.shields.io/badge/HCL_Resources-0-0284c7?style=flat-square)
880
+ ![HCL Variables](https://img.shields.io/badge/HCL_Variables-0-16a34a?style=flat-square)
881
+ ![HCL Outputs](https://img.shields.io/badge/HCL_Outputs-0-059669?style=flat-square)
882
+ ![HCL Attributes](https://img.shields.io/badge/HCL_Attributes-0-0ea5e9?style=flat-square)
883
+ ![HCL Interpolations](https://img.shields.io/badge/HCL_Interpolations-0-db2777?style=flat-square)
884
+ ![HCL Comments](https://img.shields.io/badge/HCL_Comments-0-64748b?style=flat-square)
885
+
886
+ ### CSS
887
+
888
+ ![CSS Files](https://img.shields.io/badge/CSS_Files-0-264de4?style=flat-square)
889
+ ![CSS Lines](https://img.shields.io/badge/CSS_Lines-0-2965f1?style=flat-square)
890
+ ![CSS Rules](https://img.shields.io/badge/CSS_Rules-0-7c3aed?style=flat-square)
891
+ ![CSS Selectors](https://img.shields.io/badge/CSS_Selectors-0-8b5cf6?style=flat-square)
892
+ ![CSS Declarations](https://img.shields.io/badge/CSS_Declarations-0-0284c7?style=flat-square)
893
+ ![CSS At Rules](https://img.shields.io/badge/CSS_At_Rules-0-f97316?style=flat-square)
894
+ ![CSS Media Queries](https://img.shields.io/badge/CSS_Media_Queries-0-ea580c?style=flat-square)
895
+ ![CSS Custom Properties](https://img.shields.io/badge/CSS_Custom_Properties-0-16a34a?style=flat-square)
896
+ ![CSS Comments](https://img.shields.io/badge/CSS_Comments-0-64748b?style=flat-square)
897
+
898
+ ### Conventions
899
+
900
+ ![Module Files](https://img.shields.io/badge/Module_Files-13-7c3aed?style=flat-square)
901
+ ![Service Files](https://img.shields.io/badge/Service_Files-21-0284c7?style=flat-square)
902
+ ![Command Files](https://img.shields.io/badge/Command_Files-0-16a34a?style=flat-square)
903
+ ![Constants Files](https://img.shields.io/badge/Constants_Files-14-ea580c?style=flat-square)
904
+ ![Types Files](https://img.shields.io/badge/Types_Files-13-db2777?style=flat-square)
905
+ ![Utilities Files](https://img.shields.io/badge/Utilities_Files-0-0ea5e9?style=flat-square)
906
+ ![TypeORM Entities](https://img.shields.io/badge/TypeORM_Entities-0-059669?style=flat-square)
907
+ ![Unit Tests](https://img.shields.io/badge/Unit_Tests-34-ca8a04?style=flat-square)
908
+ ![Integration Tests](https://img.shields.io/badge/Integration_Tests-0-7c3aed?style=flat-square)
909
+ ![End To End Tests](https://img.shields.io/badge/End_To_End_Tests-0-0284c7?style=flat-square)
910
+ ![CSS Comment Budget](https://img.shields.io/badge/CSS_Comment_Budget-0-16a34a?style=flat-square)
911
+ ![HCL Comment Budget](https://img.shields.io/badge/HCL_Comment_Budget-0-ea580c?style=flat-square)
912
+ ![Python Comment Budget](https://img.shields.io/badge/Python_Comment_Budget-0-db2777?style=flat-square)
913
+ ![SQL Comment Budget](https://img.shields.io/badge/SQL_Comment_Budget-0-0ea5e9?style=flat-square)
914
+ ![TOML Comment Budget](https://img.shields.io/badge/TOML_Comment_Budget-0-059669?style=flat-square)
915
+ ![TypeScript Comment Budget](https://img.shields.io/badge/TypeScript_Comment_Budget-0-ca8a04?style=flat-square)
916
+ ![YAML Comment Budget](https://img.shields.io/badge/YAML_Comment_Budget-0-7c3aed?style=flat-square)
917
+ ![Shell Comment Budget](https://img.shields.io/badge/Shell_Comment_Budget-0-0284c7?style=flat-square)
918
+
919
+ ### Jupyter
920
+
921
+ ![Notebooks](https://img.shields.io/badge/Notebooks-0-f37626?style=flat-square)
922
+ ![Notebook Cells](https://img.shields.io/badge/Notebook_Cells-0-e8a33d?style=flat-square)
923
+ ![Code Cells](https://img.shields.io/badge/Code_Cells-0-3776ab?style=flat-square)
924
+ ![Markdown Cells](https://img.shields.io/badge/Markdown_Cells-0-083fa1?style=flat-square)
925
+ ![Raw Cells](https://img.shields.io/badge/Raw_Cells-0-9ca3af?style=flat-square)
926
+ ![Executed Cells](https://img.shields.io/badge/Executed_Cells-0-16a34a?style=flat-square)
927
+ ![Cell Outputs](https://img.shields.io/badge/Cell_Outputs-0-059669?style=flat-square)
928
+ ![Notebook Code Lines](https://img.shields.io/badge/Notebook_Code_Lines-0-4b8bbe?style=flat-square)
929
+ ![Notebook Classes](https://img.shields.io/badge/Notebook_Classes-0-7c3aed?style=flat-square)
930
+ ![Notebook Functions](https://img.shields.io/badge/Notebook_Functions-0-22c55e?style=flat-square)
931
+ ![Notebook Imports](https://img.shields.io/badge/Notebook_Imports-0-0284c7?style=flat-square)
932
+ ![Notebook Decorators](https://img.shields.io/badge/Notebook_Decorators-0-db2777?style=flat-square)
933
+ ![Notebook Prose Lines](https://img.shields.io/badge/Notebook_Prose_Lines-0-1f6feb?style=flat-square)
934
+ ![Notebook Headings](https://img.shields.io/badge/Notebook_Headings-0-a78bfa?style=flat-square)
935
+ ![Notebook Links](https://img.shields.io/badge/Notebook_Links-0-10b981?style=flat-square)
936
+ ![Notebook Images](https://img.shields.io/badge/Notebook_Images-0-34d399?style=flat-square)
937
+ ![Notebook Code Blocks](https://img.shields.io/badge/Notebook_Code_Blocks-0-dc2626?style=flat-square)
938
+ ![Notebook Properties](https://img.shields.io/badge/Notebook_Properties-0-ca8a04?style=flat-square)
939
+ ![Notebook Nodes](https://img.shields.io/badge/Notebook_Nodes-0-a16207?style=flat-square)
940
+ ![Notebook Max Depth](https://img.shields.io/badge/Notebook_Max_Depth-0-ea580c?style=flat-square)
941
+
942
+ ### Markdown
943
+
944
+ ![Markdown Files](https://img.shields.io/badge/Markdown_Files-1-083fa1?style=flat-square)
945
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-222-1f6feb?style=flat-square)
946
+ ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
947
+ ![H2](https://img.shields.io/badge/H2-7-8b5cf6?style=flat-square)
948
+ ![H3](https://img.shields.io/badge/H3-12-a78bfa?style=flat-square)
949
+ ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
950
+ ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
951
+ ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
952
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-45-64748b?style=flat-square)
953
+ ![Lists](https://img.shields.io/badge/Lists-6-16a34a?style=flat-square)
954
+ ![List Items](https://img.shields.io/badge/List_Items-25-22c55e?style=flat-square)
955
+ ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
956
+ ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
957
+ ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
958
+ ![Links](https://img.shields.io/badge/Links-9-059669?style=flat-square)
959
+ ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
960
+ ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
961
+ ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
962
+ ![Block Quotes](https://img.shields.io/badge/Block_Quotes-0-ca8a04?style=flat-square)
963
+ ![Thematic Breaks](https://img.shields.io/badge/Thematic_Breaks-0-a16207?style=flat-square)
964
+ <!-- codometer:end -->