@codometer/output 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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jimmy Paolini
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,573 @@
1
+ ## Test
2
+
3
+ ```bash
4
+ nx run codometer-output:vitest
5
+ ```
6
+
7
+ <!-- callidescope:start -->
8
+
9
+ ## 🔭 Callidescope
10
+
11
+ Call stacks traced through `packages/ic-suite/codometer/codometer-output`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
12
+
13
+ | Measure | Value |
14
+ | --- | --- |
15
+ | Callables | 166 |
16
+ | Files | 46 |
17
+ | Calls traced | 346 |
18
+ | Call stacks | 2 |
19
+ | Deepest stack | 4 |
20
+ | Stacks through recursion | 0 |
21
+ | Unfollowable calls | 4 |
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` | 16 |
31
+
32
+ ### Call stacks (depth)
33
+
34
+ **1. `MarkdownService.syncAnchoredBlock`** — depth ≥ 4 · orphan-root
35
+
36
+ ```text
37
+ 🚀 MarkdownService.syncAnchoredBlock(…): boolean [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:80]
38
+ └─> MarkdownService.syncAnchoredBlock(args: SyncAnchoredBlockArguments): boolean [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:204]
39
+ ↳ Splice the anchored block into a file, or report whether it is current.
40
+ └─> MarkdownService.buildBlockRegex(args: { endMarker: string; startMarker: string; }): RegExp [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:135]
41
+ ↳ Build the matcher for a block delimited by the configured markers.
42
+ └─> MarkdownService.escapeRegex(input: string): string [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:147]
43
+ ↳ Escape a configured marker so it can be searched for literally.
44
+ ```
45
+
46
+ **2. `MarkdownService.wrapInAnchors`** — depth 2 · orphan-root
47
+
48
+ ```text
49
+ 🚀 MarkdownService.wrapInAnchors(content?: string | undefined): string [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:87]
50
+ └─> MarkdownService.wrapInAnchors(args: WrapInAnchorsArguments): string [packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:246]
51
+ ↳ Wrap rendered markdown in the configured anchor markers.
52
+ ```
53
+
54
+ ### Breadth
55
+
56
+ | Callable | Breadth | Calls directly | Location |
57
+ | --- | --- | --- | --- |
58
+ | `MarkdownService.buildBadgeGroups` | 16 | `MarkdownService.filter(…)`, `buildRepositoryGroup`, `buildTargetsGroup`, `buildTypescriptGroup`, `buildJavascriptGroup`, `buildPythonGroup`, `buildJsonGroup`, `buildYamlGroup`, `buildTomlGroup`, `buildShellGroup`, `buildSqlGroup`, `buildHclGroup`, `buildCssGroup`, `buildCustomGroup`, `buildJupyterGroup`, `buildMarkdownGroup` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:108` |
59
+ | `ChangesService.collectProjectRows` | 7 | `ChangesService.readProjectName`, `ChangesService.readBaseline`, `ChangesService.readReport`, `ChangesService.map(…)`, `ChangesService.map(…)`, `ChangesService.buildBaselineRow`, `ChangesService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:110` |
60
+ | `MarkdownService.syncAnchoredBlock` | 6 | `MissingMarkdownPathError.constructor`, `MarkdownService.readExisting`, `MarkdownService.wrapInAnchors`, `MarkdownService.buildBlockRegex`, `MarkdownService.writeMarkdownFile`, `MarkdownService.replace(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:204` |
61
+
62
+ <details>
63
+ <summary>85 more callables</summary>
64
+
65
+ | Callable | Breadth | Calls directly | Location |
66
+ | --- | --- | --- | --- |
67
+ | `RenderService.renderSection` | 6 | `RenderService.groupByProject(…)`, `RenderService.groupByProject`, `RenderService.groupByProject(…)`, `RenderService.flatMap(…)`, `RenderService.readProjects`, `RenderService.renderComparison` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:154` |
68
+ | `ChangesService.collect` | 4 | `ChangesService.map(…)`, `ChangesService.readReportPaths`, `ChangesService.flatMap(…)`, `ChangesService.flatMap(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:292` |
69
+ | `ConfigurationListingService.findConfigurationFiles` | 4 | `ConfigurationListingService.resolveWalkExclusions`, `DiscoveryService.discoverFiles`, `ConfigurationListingService.toSorted(…)`, `ConfigurationListingService.filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:188` |
70
+ | `buildRepositoryGroup` | 4 | `buildGroup`, `buildBadge`, `formatBytes`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:263` |
71
+ | `RenderService.renderProject` | 4 | `RenderService.filter(…)`, `RenderService.readIsOpen`, `RenderService.renderFailures`, `RenderService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:106` |
72
+ | `ChangesService.map(…)` | 3 | `ChangesService.readBreach`, `ChangesService.readLabel`, `ChangesService.readGoverningLimit` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:223` |
73
+ | `ChangesService.readReportPaths` | 3 | `ChangesService.flatMap(…)`, `ChangesService.map(…)`, `ChangesService.flatMap(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:267` |
74
+ | `RenderConfigurationService.renderDirectory` | 3 | `RenderConfigurationService.renderNames`, `RenderConfigurationService.map(…)`, `RenderConfigurationService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/render-configuration.service.ts:36` |
75
+ | `RenderConfigurationService.renderLimitsTable` | 3 | `RenderConfigurationService.renderRow`, `RenderConfigurationService.map(…)`, `RenderConfigurationService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/render-configuration.service.ts:64` |
76
+ | `RenderConfigurationService.render` | 3 | `RenderConfigurationService.renderRootError`, `RenderConfigurationService.renderLimitsTable`, `RenderConfigurationService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/render-configuration.service.ts:117` |
77
+ | `buildCssGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:23` |
78
+ | `buildHclGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:116` |
79
+ | `buildJsonGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:156` |
80
+ | `buildJupyterGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:177` |
81
+ | `buildMarkdownGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:206` |
82
+ | `buildPythonGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:235` |
83
+ | `buildShellGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:281` |
84
+ | `buildSqlGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:301` |
85
+ | `buildTomlGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:352` |
86
+ | `buildTypescriptGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:368` |
87
+ | `buildYamlGroup` | 3 | `buildGroup`, `buildBadge`, `buildCustomBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:383` |
88
+ | `MarkdownService.sync` | 3 | `MarkdownService.scopeCustomStatistics`, `MarkdownService.renderDocument`, `MarkdownService.buildAnchorHelpers` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:355` |
89
+ | `DeliveryService.deliverConsole` | 3 | `JsonService.render`, `MarkdownService.renderBlock`, `DeliveryService.readTargetSizes` | `packages/ic-suite/codometer/codometer-output/src/modules/delivery/delivery.service.ts:48` |
90
+ | `DeliveryService.deliverMarkdown` | 3 | `DeliveryService.touchesFiles`, `MarkdownService.sync`, `DeliveryService.readTargetSizes` | `packages/ic-suite/codometer/codometer-output/src/modules/delivery/delivery.service.ts:104` |
91
+ | `DeliveryService.deliver` | 3 | `DeliveryService.deliverConsole`, `DeliveryService.deliverJson`, `DeliveryService.deliverMarkdown` | `packages/ic-suite/codometer/codometer-output/src/modules/delivery/delivery.service.ts:166` |
92
+ | `DocumentsService.emit` | 3 | `DocumentsService.wrap`, `DocumentsService.readDocument`, `DocumentsService.splice` | `packages/ic-suite/codometer/codometer-output/src/modules/documents/documents.service.ts:51` |
93
+ | `RenderService.renderRow` | 3 | `RenderService.readStatus`, `formatValue`, `formatDelta` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:134` |
94
+ | `ReportService.buildMetrics` | 3 | `ReportService.buildMetricName`, `ReportService.map(…)`, `ReportService.readUnit` | `packages/ic-suite/codometer/codometer-output/src/modules/report/report.service.ts:52` |
95
+ | `ChangesService.readBaseline` | 2 | `ChangesService.readReport`, `ChangesService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:154` |
96
+ | `ChangesService.readBreach` | 2 | `ChangesService.filter(…)`, `ChangesService.some(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:175` |
97
+ | `ChangesService.readGoverningLimit` | 2 | `ChangesService.filter(…)`, `ChangesService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:195` |
98
+ | `ChangesService.readReport` | 2 | `ChangesService.parseReport`, `ChangesService.flatMap(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:243` |
99
+ | `formatValue` | 2 | `formatBytes`, `formatCount` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.utilities.ts:34` |
100
+ | `ConfigurationListingService.formatLimitValue` | 2 | `formatBytes`, `formatCount` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:101` |
101
+ | `ConfigurationListingService.describeConfigurations` | 2 | `ConfigurationListingService.findConfigurationFiles`, `ConfigurationListingService.describeConfiguration` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:155` |
102
+ | `JsonService.sync` | 2 | `JsonService.render`, `JsonService.readExisting` | `packages/ic-suite/codometer/codometer-output/src/modules/json/json.service.ts:62` |
103
+ | `buildCustomBadges` | 2 | `map(…)`, `filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:47` |
104
+ | `buildCustomGroup` | 2 | `buildCustomBadges`, `buildGroup` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:64` |
105
+ | `buildCustomStatisticInstancesSection` | 2 | `map(…)`, `filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:85` |
106
+ | `map(…)` | 2 | `map(…)`, `buildGroup` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:90` |
107
+ | `buildJavascriptGroup` | 2 | `buildGroup`, `buildBadge` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:134` |
108
+ | `buildTargetsGroup` | 2 | `buildGroup`, `map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:334` |
109
+ | `map(…)` | 2 | `buildBadge`, `formatTargetSize` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:345` |
110
+ | `MarkdownService.scopeCustomStatistics` | 2 | `MarkdownService.map(…)`, `MarkdownService.filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:173` |
111
+ | `MarkdownService.renderBadges` | 2 | `MarkdownService.renderDocument`, `MarkdownService.scopeCustomStatistics` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:283` |
112
+ | `MarkdownService.renderBlock` | 2 | `MarkdownService.wrapInAnchors`, `MarkdownService.renderBadges` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:298` |
113
+ | `MarkdownService.renderDocument` | 2 | `MarkdownService.buildBadgeGroups`, `buildCustomStatisticInstancesSection` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:322` |
114
+ | `DeliveryService.deliverJson` | 2 | `DeliveryService.touchesFiles`, `JsonService.sync` | `packages/ic-suite/codometer/codometer-output/src/modules/delivery/delivery.service.ts:75` |
115
+ | `DestinationsService.resolveMarkdown` | 2 | `DestinationsService.findConfiguredOutput`, `DestinationsService.resolvePath` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:119` |
116
+ | `DestinationsService.listOutputPaths` | 2 | `DestinationsService.map(…)`, `DestinationsService.filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:191` |
117
+ | `DestinationsService.resolveDestinations` | 2 | `DestinationsService.resolveJson`, `DestinationsService.resolveMarkdown` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:234` |
118
+ | `RenderService.readProjects` | 2 | `RenderService.map(…)`, `RenderService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:55` |
119
+ | `ReportService.build` | 2 | `ReportService.indexLimits`, `ReportService.buildMetrics` | `packages/ic-suite/codometer/codometer-output/src/modules/report/report.service.ts:121` |
120
+ | `ChangesService.map(…)` | 1 | `ChangesService.buildMeasuredRow` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:120` |
121
+ | `ChangesService.readLabel` | 1 | `ChangesService.find(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:206` |
122
+ | `ChangesService.readMetrics` | 1 | `ChangesService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:222` |
123
+ | `ChangesService.flatMap(…)` | 1 | `ChangesService.readMetrics` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:259` |
124
+ | `ChangesService.map(…)` | 1 | `ChangesService.collectProjectRows` | `packages/ic-suite/codometer/codometer-output/src/modules/changes/changes.service.ts:293` |
125
+ | `formatDelta` | 1 | `formatValue` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.utilities.ts:24` |
126
+ | `ConfigurationListingService.describeConfiguration` | 1 | `ConfigurationService.loadConfigurationFile` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:66` |
127
+ | `ConfigurationListingService.resolveWalkExclusions` | 1 | `ConfigurationService.loadConfigurationFile` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:120` |
128
+ | `ConfigurationListingService.toLimitRows` | 1 | `ConfigurationListingService.flatMap(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:207` |
129
+ | `ConfigurationListingService.flatMap(…)` | 1 | `ConfigurationListingService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:210` |
130
+ | `ConfigurationListingService.map(…)` | 1 | `ConfigurationListingService.formatLimitValue` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:211` |
131
+ | `RenderConfigurationService.map(…)` | 1 | `RenderConfigurationService.renderRow` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/render-configuration.service.ts:72` |
132
+ | `RenderConfigurationService.map(…)` | 1 | `RenderConfigurationService.renderDirectory` | `packages/ic-suite/codometer/codometer-output/src/modules/configuration-listing/render-configuration.service.ts:144` |
133
+ | `buildBadge` | 1 | `encodeValue` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:14` |
134
+ | `map(…)` | 1 | `buildBadge` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:53` |
135
+ | `formatTargetSize` | 1 | `formatBytes` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.utilities.ts:420` |
136
+ | `MarkdownService.syncAnchoredBlock` | 1 | `MarkdownService.syncAnchoredBlock` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:80` |
137
+ | `MarkdownService.wrapInAnchors` | 1 | `MarkdownService.wrapInAnchors` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:87` |
138
+ | `MarkdownService.buildBlockRegex` | 1 | `MarkdownService.escapeRegex` | `packages/ic-suite/codometer/codometer-output/src/modules/markdown/markdown.service.ts:135` |
139
+ | `DeliveryService.readTargetSizes` | 1 | `DeliveryService.flatMap(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/delivery/delivery.service.ts:139` |
140
+ | `DestinationsService.findConfiguredOutput` | 1 | `DestinationsService.find(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:50` |
141
+ | `DestinationsService.resolveJson` | 1 | `DestinationsService.findConfiguredOutput` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:61` |
142
+ | `DestinationsService.resolveConsoleMarkdown` | 1 | `DestinationsService.resolveMarkdown` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:219` |
143
+ | `DestinationsService.selectScope` | 1 | `DestinationsService.some(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/destinations/destinations.service.ts:258` |
144
+ | `DocumentsService.splice` | 1 | `DocumentsService.filter(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/documents/documents.service.ts:88` |
145
+ | `RenderService.readIsOpen` | 1 | `RenderService.some(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:47` |
146
+ | `RenderService.renderFailures` | 1 | `RenderService.map(…)` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:89` |
147
+ | `RenderService.filter(…)` | 1 | `hasChanged` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:111` |
148
+ | `RenderService.map(…)` | 1 | `RenderService.renderRow` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:127` |
149
+ | `RenderService.flatMap(…)` | 1 | `RenderService.renderProject` | `packages/ic-suite/codometer/codometer-output/src/modules/render/render.service.ts:161` |
150
+ | `ReportService.map(…)` | 1 | `ReportService.buildLimit` | `packages/ic-suite/codometer/codometer-output/src/modules/report/report.service.ts:64` |
151
+ | `ReportService.indexLimits` | 1 | `ReportService.buildMetricName` | `packages/ic-suite/codometer/codometer-output/src/modules/report/report.service.ts:88` |
152
+
153
+ </details>
154
+ <!-- callidescope:end -->
155
+
156
+ ## 🕸️ Codependix
157
+
158
+ 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`.
159
+
160
+ ### Nx Neighborhood
161
+
162
+ <!-- codependix:start name="codependix-nx-projects" -->
163
+ ```mermaid
164
+ graph LR
165
+ codometer_cli["codometer-cli"]
166
+ codometer_configuration["codometer-configuration"]
167
+ codometer_core["codometer-core"]
168
+ codometer_measurement["codometer-measurement"]
169
+ codometer_output["codometer-output"]
170
+ logger["logger"]
171
+ codometer_cli --> codometer_output
172
+ codometer_output --> codometer_configuration
173
+ codometer_output --> codometer_core
174
+ codometer_output --> codometer_measurement
175
+ codometer_output --> logger
176
+ classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
177
+ class codometer_output subject
178
+ ```
179
+ <!-- codependix:end name="codependix-nx-projects" -->
180
+
181
+ ### NestJS Module Graph
182
+
183
+ <!-- codependix:start name="codependix-nestjs-modules" -->
184
+ ```mermaid
185
+ flowchart LR
186
+ ChangesModule
187
+ ConfigurationListingModule
188
+ ConfigurationModule
189
+ DeliveryModule
190
+ DestinationsModule
191
+ DiscoveryModule
192
+ DocumentsModule
193
+ JsonModule
194
+ LoggerModule([LoggerModule])
195
+ MarkdownModule
196
+ RenderModule
197
+ ReportModule
198
+ ConfigurationListingModule --> ConfigurationModule
199
+ ConfigurationListingModule --> DiscoveryModule
200
+ DeliveryModule --> JsonModule
201
+ DeliveryModule --> MarkdownModule
202
+ ```
203
+
204
+ _Rounded modules are global: every module can inject them, so their edges are left out._
205
+ <!-- codependix:end name="codependix-nestjs-modules" -->
206
+
207
+ ### File Imports
208
+
209
+ <!-- codependix:start name="codependix-file-imports" -->
210
+ ```mermaid
211
+ graph LR
212
+ file_callidescope_config_ts["callidescope.config.ts"]
213
+ file_codependix_config_ts["codependix.config.ts"]
214
+ file_codometer_config_ts["codometer.config.ts"]
215
+ file_eslint_config_ts["eslint.config.ts"]
216
+ file_src_index_ts["src/index.ts"]
217
+ file_src_modules_changes_changes_constants_ts["src/modules/changes/changes.constants.ts"]
218
+ file_src_modules_changes_changes_module_ts["src/modules/changes/changes.module.ts"]
219
+ file_src_modules_changes_changes_module_unit_test_ts["src/modules/changes/changes.module.unit.test.ts"]
220
+ file_src_modules_changes_changes_service_ts["src/modules/changes/changes.service.ts"]
221
+ file_src_modules_changes_changes_service_unit_test_ts["src/modules/changes/changes.service.unit.test.ts"]
222
+ file_src_modules_changes_changes_types_ts["src/modules/changes/changes.types.ts"]
223
+ file_src_modules_configuration_listing_configuration_listing_constants_ts["src/modules/configuration-listing/configuration-listing.constants.ts"]
224
+ file_src_modules_configuration_listing_configuration_listing_module_ts["src/modules/configuration-listing/configuration-listing.module.ts"]
225
+ file_src_modules_configuration_listing_configuration_listing_service_ts["src/modules/configuration-listing/configuration-listing.service.ts"]
226
+ file_src_modules_configuration_listing_configuration_listing_service_unit_test_ts["src/modules/configuration-listing/configuration-listing.service.unit.test.ts"]
227
+ file_src_modules_configuration_listing_configuration_listing_types_ts["src/modules/configuration-listing/configuration-listing.types.ts"]
228
+ file_src_modules_configuration_listing_render_configuration_service_ts["src/modules/configuration-listing/render-configuration.service.ts"]
229
+ file_src_modules_configuration_listing_render_configuration_service_unit_test_ts["src/modules/configuration-listing/render-configuration.service.unit.test.ts"]
230
+ file_src_modules_delivery_delivery_constants_ts["src/modules/delivery/delivery.constants.ts"]
231
+ file_src_modules_delivery_delivery_module_ts["src/modules/delivery/delivery.module.ts"]
232
+ file_src_modules_delivery_delivery_service_ts["src/modules/delivery/delivery.service.ts"]
233
+ file_src_modules_delivery_delivery_service_unit_test_ts["src/modules/delivery/delivery.service.unit.test.ts"]
234
+ file_src_modules_delivery_delivery_types_ts["src/modules/delivery/delivery.types.ts"]
235
+ file_src_modules_destinations_destinations_constants_ts["src/modules/destinations/destinations.constants.ts"]
236
+ file_src_modules_destinations_destinations_module_ts["src/modules/destinations/destinations.module.ts"]
237
+ file_src_modules_destinations_destinations_service_ts["src/modules/destinations/destinations.service.ts"]
238
+ file_src_modules_destinations_destinations_service_unit_test_ts["src/modules/destinations/destinations.service.unit.test.ts"]
239
+ file_src_modules_destinations_destinations_types_ts["src/modules/destinations/destinations.types.ts"]
240
+ file_src_modules_documents_documents_constants_ts["src/modules/documents/documents.constants.ts"]
241
+ file_src_modules_documents_documents_module_ts["src/modules/documents/documents.module.ts"]
242
+ file_src_modules_documents_documents_module_unit_test_ts["src/modules/documents/documents.module.unit.test.ts"]
243
+ file_src_modules_documents_documents_service_ts["src/modules/documents/documents.service.ts"]
244
+ file_src_modules_documents_documents_service_unit_test_ts["src/modules/documents/documents.service.unit.test.ts"]
245
+ file_src_modules_documents_documents_types_ts["src/modules/documents/documents.types.ts"]
246
+ file_src_modules_json_json_constants_ts["src/modules/json/json.constants.ts"]
247
+ file_src_modules_json_json_module_ts["src/modules/json/json.module.ts"]
248
+ file_src_modules_json_json_module_unit_test_ts["src/modules/json/json.module.unit.test.ts"]
249
+ file_src_modules_json_json_service_ts["src/modules/json/json.service.ts"]
250
+ file_src_modules_json_json_service_unit_test_ts["src/modules/json/json.service.unit.test.ts"]
251
+ file_src_modules_json_json_types_ts["src/modules/json/json.types.ts"]
252
+ file_src_modules_markdown_markdown_constants_ts["src/modules/markdown/markdown.constants.ts"]
253
+ file_src_modules_markdown_markdown_module_ts["src/modules/markdown/markdown.module.ts"]
254
+ file_src_modules_markdown_markdown_module_unit_test_ts["src/modules/markdown/markdown.module.unit.test.ts"]
255
+ file_src_modules_markdown_markdown_service_ts["src/modules/markdown/markdown.service.ts"]
256
+ file_src_modules_markdown_markdown_service_unit_test_ts["src/modules/markdown/markdown.service.unit.test.ts"]
257
+ file_src_modules_markdown_markdown_types_ts["src/modules/markdown/markdown.types.ts"]
258
+ file_src_modules_markdown_markdown_utilities_ts["src/modules/markdown/markdown.utilities.ts"]
259
+ file_src_modules_markdown_markdown_utilities_unit_test_ts["src/modules/markdown/markdown.utilities.unit.test.ts"]
260
+ file_src_modules_render_render_constants_ts["src/modules/render/render.constants.ts"]
261
+ file_src_modules_render_render_module_ts["src/modules/render/render.module.ts"]
262
+ file_src_modules_render_render_module_unit_test_ts["src/modules/render/render.module.unit.test.ts"]
263
+ file_src_modules_render_render_service_ts["src/modules/render/render.service.ts"]
264
+ file_src_modules_render_render_service_unit_test_ts["src/modules/render/render.service.unit.test.ts"]
265
+ file_src_modules_render_render_types_ts["src/modules/render/render.types.ts"]
266
+ file_src_modules_render_render_utilities_ts["src/modules/render/render.utilities.ts"]
267
+ file_src_modules_render_render_utilities_unit_test_ts["src/modules/render/render.utilities.unit.test.ts"]
268
+ file_src_modules_report_report_constants_ts["src/modules/report/report.constants.ts"]
269
+ file_src_modules_report_report_module_ts["src/modules/report/report.module.ts"]
270
+ file_src_modules_report_report_service_ts["src/modules/report/report.service.ts"]
271
+ file_src_modules_report_report_service_unit_test_ts["src/modules/report/report.service.unit.test.ts"]
272
+ file_src_modules_report_report_types_ts["src/modules/report/report.types.ts"]
273
+ file_testing_mocks_ts["testing/mocks.ts"]
274
+ file_testing_setup_ts["testing/setup.ts"]
275
+ file_vite_config_ts["vite.config.ts"]
276
+ file_vitest_config_ts["vitest.config.ts"]
277
+ file_src_modules_changes_changes_module_ts --> file_src_modules_changes_changes_service_ts
278
+ file_src_modules_changes_changes_module_unit_test_ts --> file_src_modules_changes_changes_module_ts
279
+ file_src_modules_changes_changes_module_unit_test_ts --> file_src_modules_changes_changes_service_ts
280
+ file_src_modules_changes_changes_service_ts --> file_src_modules_changes_changes_constants_ts
281
+ file_src_modules_changes_changes_service_ts --> file_src_modules_changes_changes_types_ts
282
+ file_src_modules_changes_changes_service_unit_test_ts --> file_src_modules_changes_changes_service_ts
283
+ file_src_modules_changes_changes_service_unit_test_ts --> file_src_modules_changes_changes_types_ts
284
+ file_src_modules_changes_changes_types_ts --> file_src_modules_changes_changes_constants_ts
285
+ file_src_modules_configuration_listing_configuration_listing_module_ts --> file_src_modules_configuration_listing_configuration_listing_service_ts
286
+ file_src_modules_configuration_listing_configuration_listing_module_ts --> file_src_modules_configuration_listing_render_configuration_service_ts
287
+ file_src_modules_configuration_listing_configuration_listing_service_ts --> file_src_modules_configuration_listing_configuration_listing_constants_ts
288
+ file_src_modules_configuration_listing_configuration_listing_service_ts --> file_src_modules_configuration_listing_configuration_listing_types_ts
289
+ file_src_modules_configuration_listing_configuration_listing_service_ts --> file_src_modules_render_render_utilities_ts
290
+ file_src_modules_configuration_listing_configuration_listing_service_unit_test_ts --> file_src_modules_configuration_listing_configuration_listing_service_ts
291
+ file_src_modules_configuration_listing_render_configuration_service_ts --> file_src_modules_configuration_listing_configuration_listing_constants_ts
292
+ file_src_modules_configuration_listing_render_configuration_service_ts --> file_src_modules_configuration_listing_configuration_listing_types_ts
293
+ file_src_modules_configuration_listing_render_configuration_service_unit_test_ts --> file_src_modules_configuration_listing_configuration_listing_types_ts
294
+ file_src_modules_configuration_listing_render_configuration_service_unit_test_ts --> file_src_modules_configuration_listing_render_configuration_service_ts
295
+ file_src_modules_delivery_delivery_constants_ts --> file_src_modules_destinations_destinations_types_ts
296
+ file_src_modules_delivery_delivery_module_ts --> file_src_modules_delivery_delivery_service_ts
297
+ file_src_modules_delivery_delivery_module_ts --> file_src_modules_json_json_module_ts
298
+ file_src_modules_delivery_delivery_module_ts --> file_src_modules_markdown_markdown_module_ts
299
+ file_src_modules_delivery_delivery_service_ts --> file_src_modules_delivery_delivery_constants_ts
300
+ file_src_modules_delivery_delivery_service_ts --> file_src_modules_delivery_delivery_types_ts
301
+ file_src_modules_delivery_delivery_service_ts --> file_src_modules_json_json_service_ts
302
+ file_src_modules_delivery_delivery_service_ts --> file_src_modules_markdown_markdown_service_ts
303
+ file_src_modules_delivery_delivery_service_ts --> file_src_modules_markdown_markdown_types_ts
304
+ file_src_modules_delivery_delivery_service_unit_test_ts --> file_src_modules_delivery_delivery_service_ts
305
+ file_src_modules_delivery_delivery_service_unit_test_ts --> file_src_modules_destinations_destinations_types_ts
306
+ file_src_modules_delivery_delivery_service_unit_test_ts --> file_src_modules_json_json_service_ts
307
+ file_src_modules_delivery_delivery_service_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
308
+ file_src_modules_delivery_delivery_service_unit_test_ts --> file_testing_mocks_ts
309
+ file_src_modules_delivery_delivery_types_ts --> file_src_modules_destinations_destinations_types_ts
310
+ file_src_modules_delivery_delivery_types_ts --> file_src_modules_markdown_markdown_types_ts
311
+ file_src_modules_destinations_destinations_constants_ts --> file_src_modules_destinations_destinations_types_ts
312
+ file_src_modules_destinations_destinations_module_ts --> file_src_modules_destinations_destinations_service_ts
313
+ file_src_modules_destinations_destinations_service_ts --> file_src_modules_destinations_destinations_types_ts
314
+ file_src_modules_destinations_destinations_service_ts --> file_src_modules_markdown_markdown_types_ts
315
+ file_src_modules_destinations_destinations_service_unit_test_ts --> file_src_modules_destinations_destinations_service_ts
316
+ file_src_modules_destinations_destinations_service_unit_test_ts --> file_src_modules_destinations_destinations_types_ts
317
+ file_src_modules_documents_documents_module_ts --> file_src_modules_documents_documents_service_ts
318
+ file_src_modules_documents_documents_module_unit_test_ts --> file_src_modules_documents_documents_module_ts
319
+ file_src_modules_documents_documents_module_unit_test_ts --> file_src_modules_documents_documents_service_ts
320
+ file_src_modules_documents_documents_service_ts --> file_src_modules_documents_documents_types_ts
321
+ file_src_modules_documents_documents_service_unit_test_ts --> file_src_modules_documents_documents_service_ts
322
+ file_src_modules_documents_documents_service_unit_test_ts --> file_src_modules_documents_documents_types_ts
323
+ file_src_modules_json_json_module_ts --> file_src_modules_json_json_service_ts
324
+ file_src_modules_json_json_module_unit_test_ts --> file_src_modules_json_json_module_ts
325
+ file_src_modules_json_json_module_unit_test_ts --> file_src_modules_json_json_service_ts
326
+ file_src_modules_json_json_service_ts --> file_src_modules_json_json_types_ts
327
+ file_src_modules_json_json_service_unit_test_ts --> file_src_modules_json_json_service_ts
328
+ file_src_modules_markdown_markdown_module_ts --> file_src_modules_markdown_markdown_service_ts
329
+ file_src_modules_markdown_markdown_module_unit_test_ts --> file_src_modules_markdown_markdown_module_ts
330
+ file_src_modules_markdown_markdown_module_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
331
+ file_src_modules_markdown_markdown_service_ts --> file_src_modules_markdown_markdown_constants_ts
332
+ file_src_modules_markdown_markdown_service_ts --> file_src_modules_markdown_markdown_types_ts
333
+ file_src_modules_markdown_markdown_service_ts --> file_src_modules_markdown_markdown_utilities_ts
334
+ file_src_modules_markdown_markdown_service_unit_test_ts --> file_src_modules_markdown_markdown_constants_ts
335
+ file_src_modules_markdown_markdown_service_unit_test_ts --> file_src_modules_markdown_markdown_service_ts
336
+ file_src_modules_markdown_markdown_utilities_ts --> file_src_modules_markdown_markdown_types_ts
337
+ file_src_modules_markdown_markdown_utilities_ts --> file_src_modules_render_render_utilities_ts
338
+ file_src_modules_markdown_markdown_utilities_unit_test_ts --> file_src_modules_markdown_markdown_utilities_ts
339
+ file_src_modules_render_render_module_ts --> file_src_modules_render_render_service_ts
340
+ file_src_modules_render_render_module_unit_test_ts --> file_src_modules_render_render_module_ts
341
+ file_src_modules_render_render_module_unit_test_ts --> file_src_modules_render_render_service_ts
342
+ file_src_modules_render_render_service_ts --> file_src_modules_changes_changes_types_ts
343
+ file_src_modules_render_render_service_ts --> file_src_modules_render_render_constants_ts
344
+ file_src_modules_render_render_service_ts --> file_src_modules_render_render_types_ts
345
+ file_src_modules_render_render_service_ts --> file_src_modules_render_render_utilities_ts
346
+ file_src_modules_render_render_service_unit_test_ts --> file_src_modules_changes_changes_types_ts
347
+ file_src_modules_render_render_service_unit_test_ts --> file_src_modules_render_render_service_ts
348
+ file_src_modules_render_render_types_ts --> file_src_modules_changes_changes_types_ts
349
+ file_src_modules_render_render_utilities_ts --> file_src_modules_changes_changes_types_ts
350
+ file_src_modules_render_render_utilities_unit_test_ts --> file_src_modules_changes_changes_types_ts
351
+ file_src_modules_render_render_utilities_unit_test_ts --> file_src_modules_render_render_utilities_ts
352
+ file_src_modules_report_report_module_ts --> file_src_modules_report_report_service_ts
353
+ file_src_modules_report_report_service_ts --> file_src_modules_report_report_constants_ts
354
+ file_src_modules_report_report_service_ts --> file_src_modules_report_report_types_ts
355
+ file_src_modules_report_report_service_unit_test_ts --> file_src_modules_report_report_service_ts
356
+ ```
357
+ <!-- codependix:end name="codependix-file-imports" -->
358
+
359
+ <!-- codometer:start -->
360
+
361
+ ## ⏲️ Codometer
362
+
363
+ ### Project
364
+
365
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-8002-22c55e?style=flat-square)
366
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-263.41_kB-6b7280?style=flat-square)
367
+ ![Folders](https://img.shields.io/badge/Folders-12-4a4a4a?style=flat-square)
368
+ ![Source Files](https://img.shields.io/badge/Source_Files-65-3178c6?style=flat-square)
369
+
370
+ ### Measured Targets
371
+
372
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-11.38_kB_gzip-6b7280?style=flat-square)
373
+
374
+ ### TypeScript
375
+
376
+ ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-65-3178c6?style=flat-square)
377
+ ![Interfaces](https://img.shields.io/badge/Interfaces-36-0ea5e9?style=flat-square)
378
+ ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-2-0369a1?style=flat-square)
379
+ ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
380
+ ![Decorators](https://img.shields.io/badge/Decorators-19-db2777?style=flat-square)
381
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-184-6366f1?style=flat-square)
382
+ ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
383
+
384
+ ### JavaScript
385
+
386
+ ![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-0-f7df1e?style=flat-square)
387
+ ![Test Files](https://img.shields.io/badge/Test_Files-17-10b981?style=flat-square)
388
+ ![External Packages](https://img.shields.io/badge/External_Packages-14-8b5cf6?style=flat-square)
389
+ ![Classes](https://img.shields.io/badge/Classes-20-7c3aed?style=flat-square)
390
+ ![Functions](https://img.shields.io/badge/Functions-330-16a34a?style=flat-square)
391
+ ![Methods](https://img.shields.io/badge/Methods-123-15803d?style=flat-square)
392
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-423-4ade80?style=flat-square)
393
+ ![Async Functions](https://img.shields.io/badge/Async_Functions-30-059669?style=flat-square)
394
+ ![Constants](https://img.shields.io/badge/Constants-369-dc2626?style=flat-square)
395
+ ![Imports](https://img.shields.io/badge/Imports-229-0284c7?style=flat-square)
396
+ ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-106-ea580c?style=flat-square)
397
+ ![Comments](https://img.shields.io/badge/Comments-361-64748b?style=flat-square)
398
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-831-475569?style=flat-square)
399
+ ![TODO Comments](https://img.shields.io/badge/TODO_Comments-1-ca8a04?style=flat-square)
400
+
401
+ ### Python
402
+
403
+ ![Python Files](https://img.shields.io/badge/Python_Files-0-3776ab?style=flat-square)
404
+ ![Python Lines](https://img.shields.io/badge/Python_Lines-0-4b8bbe?style=flat-square)
405
+ ![Python Classes](https://img.shields.io/badge/Python_Classes-0-7c3aed?style=flat-square)
406
+ ![Python Functions](https://img.shields.io/badge/Python_Functions-0-16a34a?style=flat-square)
407
+ ![Python Protocols](https://img.shields.io/badge/Python_Protocols-0-0ea5e9?style=flat-square)
408
+ ![Python Constants](https://img.shields.io/badge/Python_Constants-0-dc2626?style=flat-square)
409
+ ![Python Imports](https://img.shields.io/badge/Python_Imports-0-0284c7?style=flat-square)
410
+ ![Python Decorators](https://img.shields.io/badge/Python_Decorators-0-db2777?style=flat-square)
411
+ ![Docstrings](https://img.shields.io/badge/Docstrings-0-6366f1?style=flat-square)
412
+ ![Docstring Lines](https://img.shields.io/badge/Docstring_Lines-0-818cf8?style=flat-square)
413
+ ![Python Comments](https://img.shields.io/badge/Python_Comments-0-64748b?style=flat-square)
414
+ ![Python Comment Lines](https://img.shields.io/badge/Python_Comment_Lines-0-475569?style=flat-square)
415
+
416
+ ### JSON
417
+
418
+ ![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square)
419
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-167-ca8a04?style=flat-square)
420
+ ![JSON Objects](https://img.shields.io/badge/JSON_Objects-38-7c3aed?style=flat-square)
421
+ ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-13-8b5cf6?style=flat-square)
422
+ ![JSON Properties](https://img.shields.io/badge/JSON_Properties-105-0284c7?style=flat-square)
423
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-92-16a34a?style=flat-square)
424
+ ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square)
425
+ ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-7-0ea5e9?style=flat-square)
426
+ ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
427
+ ![JSON Items](https://img.shields.io/badge/JSON_Items-42-475569?style=flat-square)
428
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-151-dc2626?style=flat-square)
429
+ ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-5-ea580c?style=flat-square)
430
+
431
+ ### YAML
432
+
433
+ ![YAML Files](https://img.shields.io/badge/YAML_Files-0-cb171e?style=flat-square)
434
+ ![YAML Lines](https://img.shields.io/badge/YAML_Lines-0-e34c26?style=flat-square)
435
+ ![YAML Documents](https://img.shields.io/badge/YAML_Documents-0-f97316?style=flat-square)
436
+ ![YAML Mappings](https://img.shields.io/badge/YAML_Mappings-0-7c3aed?style=flat-square)
437
+ ![YAML Sequences](https://img.shields.io/badge/YAML_Sequences-0-8b5cf6?style=flat-square)
438
+ ![YAML Keys](https://img.shields.io/badge/YAML_Keys-0-0284c7?style=flat-square)
439
+ ![YAML Scalars](https://img.shields.io/badge/YAML_Scalars-0-16a34a?style=flat-square)
440
+ ![YAML Anchors](https://img.shields.io/badge/YAML_Anchors-0-059669?style=flat-square)
441
+ ![YAML Aliases](https://img.shields.io/badge/YAML_Aliases-0-10b981?style=flat-square)
442
+ ![YAML Comments](https://img.shields.io/badge/YAML_Comments-0-64748b?style=flat-square)
443
+ ![YAML Max Depth](https://img.shields.io/badge/YAML_Max_Depth-0-ea580c?style=flat-square)
444
+
445
+ ### TOML
446
+
447
+ ![TOML Files](https://img.shields.io/badge/TOML_Files-0-9c4221?style=flat-square)
448
+ ![TOML Lines](https://img.shields.io/badge/TOML_Lines-0-b45309?style=flat-square)
449
+ ![TOML Tables](https://img.shields.io/badge/TOML_Tables-0-7c3aed?style=flat-square)
450
+ ![TOML Array Tables](https://img.shields.io/badge/TOML_Array_Tables-0-8b5cf6?style=flat-square)
451
+ ![TOML Keys](https://img.shields.io/badge/TOML_Keys-0-0284c7?style=flat-square)
452
+ ![TOML Arrays](https://img.shields.io/badge/TOML_Arrays-0-16a34a?style=flat-square)
453
+ ![TOML Comments](https://img.shields.io/badge/TOML_Comments-0-64748b?style=flat-square)
454
+
455
+ ### Shell
456
+
457
+ ![Shell Files](https://img.shields.io/badge/Shell_Files-0-89e051?style=flat-square)
458
+ ![Shell Lines](https://img.shields.io/badge/Shell_Lines-0-4eaa25?style=flat-square)
459
+ ![Shell Functions](https://img.shields.io/badge/Shell_Functions-0-16a34a?style=flat-square)
460
+ ![Shell Variables](https://img.shields.io/badge/Shell_Variables-0-0284c7?style=flat-square)
461
+ ![Shell Exports](https://img.shields.io/badge/Shell_Exports-0-ea580c?style=flat-square)
462
+ ![Shell Conditionals](https://img.shields.io/badge/Shell_Conditionals-0-7c3aed?style=flat-square)
463
+ ![Shell Loops](https://img.shields.io/badge/Shell_Loops-0-8b5cf6?style=flat-square)
464
+ ![Shell Pipelines](https://img.shields.io/badge/Shell_Pipelines-0-059669?style=flat-square)
465
+ ![Shebangs](https://img.shields.io/badge/Shebangs-0-6b7280?style=flat-square)
466
+ ![Shell Comments](https://img.shields.io/badge/Shell_Comments-0-64748b?style=flat-square)
467
+ ![Shell Comment Lines](https://img.shields.io/badge/Shell_Comment_Lines-0-475569?style=flat-square)
468
+
469
+ ### SQL
470
+
471
+ ![SQL Files](https://img.shields.io/badge/SQL_Files-0-e38c00?style=flat-square)
472
+ ![SQL Lines](https://img.shields.io/badge/SQL_Lines-0-f29111?style=flat-square)
473
+ ![SQL Statements](https://img.shields.io/badge/SQL_Statements-0-7c3aed?style=flat-square)
474
+ ![SQL Selects](https://img.shields.io/badge/SQL_Selects-0-16a34a?style=flat-square)
475
+ ![SQL Inserts](https://img.shields.io/badge/SQL_Inserts-0-22c55e?style=flat-square)
476
+ ![SQL Updates](https://img.shields.io/badge/SQL_Updates-0-0ea5e9?style=flat-square)
477
+ ![SQL Deletes](https://img.shields.io/badge/SQL_Deletes-0-dc2626?style=flat-square)
478
+ ![SQL Creates](https://img.shields.io/badge/SQL_Creates-0-0284c7?style=flat-square)
479
+ ![SQL Joins](https://img.shields.io/badge/SQL_Joins-0-8b5cf6?style=flat-square)
480
+ ![SQL CTEs](https://img.shields.io/badge/SQL_CTEs-0-059669?style=flat-square)
481
+ ![SQL Comments](https://img.shields.io/badge/SQL_Comments-0-64748b?style=flat-square)
482
+
483
+ ### HCL
484
+
485
+ ![HCL Files](https://img.shields.io/badge/HCL_Files-0-844fba?style=flat-square)
486
+ ![HCL Lines](https://img.shields.io/badge/HCL_Lines-0-a78bfa?style=flat-square)
487
+ ![HCL Blocks](https://img.shields.io/badge/HCL_Blocks-0-7c3aed?style=flat-square)
488
+ ![HCL Resources](https://img.shields.io/badge/HCL_Resources-0-0284c7?style=flat-square)
489
+ ![HCL Variables](https://img.shields.io/badge/HCL_Variables-0-16a34a?style=flat-square)
490
+ ![HCL Outputs](https://img.shields.io/badge/HCL_Outputs-0-059669?style=flat-square)
491
+ ![HCL Attributes](https://img.shields.io/badge/HCL_Attributes-0-0ea5e9?style=flat-square)
492
+ ![HCL Interpolations](https://img.shields.io/badge/HCL_Interpolations-0-db2777?style=flat-square)
493
+ ![HCL Comments](https://img.shields.io/badge/HCL_Comments-0-64748b?style=flat-square)
494
+
495
+ ### CSS
496
+
497
+ ![CSS Files](https://img.shields.io/badge/CSS_Files-0-264de4?style=flat-square)
498
+ ![CSS Lines](https://img.shields.io/badge/CSS_Lines-0-2965f1?style=flat-square)
499
+ ![CSS Rules](https://img.shields.io/badge/CSS_Rules-0-7c3aed?style=flat-square)
500
+ ![CSS Selectors](https://img.shields.io/badge/CSS_Selectors-0-8b5cf6?style=flat-square)
501
+ ![CSS Declarations](https://img.shields.io/badge/CSS_Declarations-0-0284c7?style=flat-square)
502
+ ![CSS At Rules](https://img.shields.io/badge/CSS_At_Rules-0-f97316?style=flat-square)
503
+ ![CSS Media Queries](https://img.shields.io/badge/CSS_Media_Queries-0-ea580c?style=flat-square)
504
+ ![CSS Custom Properties](https://img.shields.io/badge/CSS_Custom_Properties-0-16a34a?style=flat-square)
505
+ ![CSS Comments](https://img.shields.io/badge/CSS_Comments-0-64748b?style=flat-square)
506
+
507
+ ### Conventions
508
+
509
+ ![Module Files](https://img.shields.io/badge/Module_Files-9-7c3aed?style=flat-square)
510
+ ![Service Files](https://img.shields.io/badge/Service_Files-10-0284c7?style=flat-square)
511
+ ![Command Files](https://img.shields.io/badge/Command_Files-0-16a34a?style=flat-square)
512
+ ![Constants Files](https://img.shields.io/badge/Constants_Files-9-ea580c?style=flat-square)
513
+ ![Types Files](https://img.shields.io/badge/Types_Files-9-db2777?style=flat-square)
514
+ ![Utilities Files](https://img.shields.io/badge/Utilities_Files-2-0ea5e9?style=flat-square)
515
+ ![TypeORM Entities](https://img.shields.io/badge/TypeORM_Entities-0-059669?style=flat-square)
516
+ ![Unit Tests](https://img.shields.io/badge/Unit_Tests-17-ca8a04?style=flat-square)
517
+ ![Integration Tests](https://img.shields.io/badge/Integration_Tests-0-7c3aed?style=flat-square)
518
+ ![End To End Tests](https://img.shields.io/badge/End_To_End_Tests-0-0284c7?style=flat-square)
519
+ ![CSS Comment Budget](https://img.shields.io/badge/CSS_Comment_Budget-0-16a34a?style=flat-square)
520
+ ![HCL Comment Budget](https://img.shields.io/badge/HCL_Comment_Budget-0-ea580c?style=flat-square)
521
+ ![Python Comment Budget](https://img.shields.io/badge/Python_Comment_Budget-0-db2777?style=flat-square)
522
+ ![SQL Comment Budget](https://img.shields.io/badge/SQL_Comment_Budget-0-0ea5e9?style=flat-square)
523
+ ![TOML Comment Budget](https://img.shields.io/badge/TOML_Comment_Budget-0-059669?style=flat-square)
524
+ ![TypeScript Comment Budget](https://img.shields.io/badge/TypeScript_Comment_Budget-0-ca8a04?style=flat-square)
525
+ ![YAML Comment Budget](https://img.shields.io/badge/YAML_Comment_Budget-0-7c3aed?style=flat-square)
526
+ ![Shell Comment Budget](https://img.shields.io/badge/Shell_Comment_Budget-0-0284c7?style=flat-square)
527
+
528
+ ### Jupyter
529
+
530
+ ![Notebooks](https://img.shields.io/badge/Notebooks-0-f37626?style=flat-square)
531
+ ![Notebook Cells](https://img.shields.io/badge/Notebook_Cells-0-e8a33d?style=flat-square)
532
+ ![Code Cells](https://img.shields.io/badge/Code_Cells-0-3776ab?style=flat-square)
533
+ ![Markdown Cells](https://img.shields.io/badge/Markdown_Cells-0-083fa1?style=flat-square)
534
+ ![Raw Cells](https://img.shields.io/badge/Raw_Cells-0-9ca3af?style=flat-square)
535
+ ![Executed Cells](https://img.shields.io/badge/Executed_Cells-0-16a34a?style=flat-square)
536
+ ![Cell Outputs](https://img.shields.io/badge/Cell_Outputs-0-059669?style=flat-square)
537
+ ![Notebook Code Lines](https://img.shields.io/badge/Notebook_Code_Lines-0-4b8bbe?style=flat-square)
538
+ ![Notebook Classes](https://img.shields.io/badge/Notebook_Classes-0-7c3aed?style=flat-square)
539
+ ![Notebook Functions](https://img.shields.io/badge/Notebook_Functions-0-22c55e?style=flat-square)
540
+ ![Notebook Imports](https://img.shields.io/badge/Notebook_Imports-0-0284c7?style=flat-square)
541
+ ![Notebook Decorators](https://img.shields.io/badge/Notebook_Decorators-0-db2777?style=flat-square)
542
+ ![Notebook Prose Lines](https://img.shields.io/badge/Notebook_Prose_Lines-0-1f6feb?style=flat-square)
543
+ ![Notebook Headings](https://img.shields.io/badge/Notebook_Headings-0-a78bfa?style=flat-square)
544
+ ![Notebook Links](https://img.shields.io/badge/Notebook_Links-0-10b981?style=flat-square)
545
+ ![Notebook Images](https://img.shields.io/badge/Notebook_Images-0-34d399?style=flat-square)
546
+ ![Notebook Code Blocks](https://img.shields.io/badge/Notebook_Code_Blocks-0-dc2626?style=flat-square)
547
+ ![Notebook Properties](https://img.shields.io/badge/Notebook_Properties-0-ca8a04?style=flat-square)
548
+ ![Notebook Nodes](https://img.shields.io/badge/Notebook_Nodes-0-a16207?style=flat-square)
549
+ ![Notebook Max Depth](https://img.shields.io/badge/Notebook_Max_Depth-0-ea580c?style=flat-square)
550
+
551
+ ### Markdown
552
+
553
+ ![Markdown Files](https://img.shields.io/badge/Markdown_Files-1-083fa1?style=flat-square)
554
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-222-1f6feb?style=flat-square)
555
+ ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
556
+ ![H2](https://img.shields.io/badge/H2-7-8b5cf6?style=flat-square)
557
+ ![H3](https://img.shields.io/badge/H3-12-a78bfa?style=flat-square)
558
+ ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
559
+ ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
560
+ ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
561
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-45-64748b?style=flat-square)
562
+ ![Lists](https://img.shields.io/badge/Lists-6-16a34a?style=flat-square)
563
+ ![List Items](https://img.shields.io/badge/List_Items-25-22c55e?style=flat-square)
564
+ ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
565
+ ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
566
+ ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
567
+ ![Links](https://img.shields.io/badge/Links-9-059669?style=flat-square)
568
+ ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
569
+ ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
570
+ ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
571
+ ![Block Quotes](https://img.shields.io/badge/Block_Quotes-0-ca8a04?style=flat-square)
572
+ ![Thematic Breaks](https://img.shields.io/badge/Thematic_Breaks-0-a16207?style=flat-square)
573
+ <!-- codometer:end -->