@conformetry/configuration 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 +21 -0
- package/README.md +919 -0
- package/dist/src/index.d.ts +1034 -0
- package/dist/src/index.js +988 -0
- package/package.json +70 -0
package/README.md
ADDED
|
@@ -0,0 +1,919 @@
|
|
|
1
|
+
# 👔 Conformetry Configuration
|
|
2
|
+
|
|
3
|
+
**The configuration reference for [Conformetry](../conformetry-cli/README.md).**
|
|
4
|
+
|
|
5
|
+
`@conformetry/configuration` reads a repository's `conformetry.config.*`, checks
|
|
6
|
+
it, and turns it into the three things the rest of the toolchain works from:
|
|
7
|
+
the generator registry, the instances validation walks, and the
|
|
8
|
+
resolved inputs a generator renders with.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install --save-dev @conformetry/configuration
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Most consumers never install this directly — `@conformetry/cli` and
|
|
15
|
+
`@conformetry/nx` both depend on it. Install it when you are typing a
|
|
16
|
+
configuration file, or embedding conformetry in a host of your own.
|
|
17
|
+
|
|
18
|
+
## The configuration file
|
|
19
|
+
|
|
20
|
+
Any of `conformetry.config.{ts,mts,cts,js,mjs,cjs,json,jsonc}`. TypeScript and
|
|
21
|
+
JavaScript files are loaded through [jiti](https://github.com/unjs/jiti), so a
|
|
22
|
+
`.ts` config needs no build step and may import from your workspace.
|
|
23
|
+
|
|
24
|
+
The path is resolved against the current directory first, then against the
|
|
25
|
+
workspace root — located by walking upward for `pnpm-workspace.yaml` — so a
|
|
26
|
+
config path written relative to the root still resolves from a nested
|
|
27
|
+
directory.
|
|
28
|
+
|
|
29
|
+
The file default-exports an **array of generator definitions**. It is an array
|
|
30
|
+
rather than a keyed record because a generator's name is already a field, and a
|
|
31
|
+
record made the name true in two places at once.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { type ConformetryConfiguration } from "@conformetry/configuration";
|
|
35
|
+
|
|
36
|
+
const conformetryConfiguration: ConformetryConfiguration = [
|
|
37
|
+
{
|
|
38
|
+
description: "Generate a NestJS service module",
|
|
39
|
+
inputs: {
|
|
40
|
+
name: { description: "Module name in kebab-case", type: "string" },
|
|
41
|
+
},
|
|
42
|
+
instances: [{ patterns: ["packages/*/src/modules/*"] }],
|
|
43
|
+
name: "nestjs-service-module",
|
|
44
|
+
templatePath: "templates/nestjs-service-module",
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
export default conformetryConfiguration;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Generator fields
|
|
52
|
+
|
|
53
|
+
| Field | Required | Purpose |
|
|
54
|
+
| ----- | -------- | ------- |
|
|
55
|
+
| `name` | ✅ | How the generator is addressed, and the filename it is emitted under |
|
|
56
|
+
| `templatePath` | ✅ | The template folder, relative to the workspace root |
|
|
57
|
+
| `inputs` | | The values it substitutes, as JSON Schema fragments |
|
|
58
|
+
| `instances` | | Where this generator's output already lives |
|
|
59
|
+
| `description` | | Shown when a host lists or prompts for generators |
|
|
60
|
+
|
|
61
|
+
Both `inputs` and `instances` may be omitted. A generator with neither renders
|
|
62
|
+
a fixed template nobody validates, which is legal.
|
|
63
|
+
|
|
64
|
+
### What is rejected
|
|
65
|
+
|
|
66
|
+
The schema fails loudly rather than validating nothing, and reports every
|
|
67
|
+
problem in one pass:
|
|
68
|
+
|
|
69
|
+
- **Two generators answering to the same name.** A host resolves the first
|
|
70
|
+
match, so a collision does not error where it is used — it silently shadows,
|
|
71
|
+
and the losing generator becomes unreachable while still appearing in the
|
|
72
|
+
configuration.
|
|
73
|
+
- **Two generators sharing a `templatePath`.** Validation then finds instances
|
|
74
|
+
that fit both equally and reports them as matching nothing.
|
|
75
|
+
- **A name containing a path separator.** A generator is addressed by its name
|
|
76
|
+
and emitted to a file named after it.
|
|
77
|
+
- **A key the schema does not declare.** The generator object is strict, so a
|
|
78
|
+
misspelled field — or `aliases`, which was removed outright — is rejected
|
|
79
|
+
rather than stripped and left reading as though it took effect.
|
|
80
|
+
|
|
81
|
+
## Instances
|
|
82
|
+
|
|
83
|
+
`instances` is what makes validation possible. It says where a generator's
|
|
84
|
+
output already lives, so validation knows what to check without being told a
|
|
85
|
+
second time.
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
instances: [
|
|
89
|
+
{ patterns: ["packages/*/src/modules/*"] },
|
|
90
|
+
{
|
|
91
|
+
patterns: ["applications/*/src/modules/*"],
|
|
92
|
+
substitutions: { type: "applications" },
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
| Field | Purpose |
|
|
98
|
+
| ----- | ------- |
|
|
99
|
+
| `patterns` | Globs locating this group's instances, workspace-relative |
|
|
100
|
+
| `substitutions` | Values the template's placeholders are rendered with for this group |
|
|
101
|
+
| `tags` | Labels selecting which hosts the group applies to, carried uninterpreted |
|
|
102
|
+
| `threshold` | Lowest conformance score these instances may have, overriding the generator's |
|
|
103
|
+
|
|
104
|
+
Groups exist so substitutions can differ per glob. `type` is `packages` for one
|
|
105
|
+
set of paths and `applications` for another, and no generic rule can tell them
|
|
106
|
+
apart.
|
|
107
|
+
|
|
108
|
+
> **Every placeholder a template uses must be supplied here.** A missing entry
|
|
109
|
+
> fails the run with `MissingSubstitutionError` rather than rendering as an
|
|
110
|
+
> empty string — see
|
|
111
|
+
> [`@conformetry/generation`](../conformetry-generation/README.md) for why that
|
|
112
|
+
> is an error and not a finding, and for the section syntax a template uses to
|
|
113
|
+
> make a placeholder genuinely optional.
|
|
114
|
+
|
|
115
|
+
`tags` is carried through untouched by this package, which has no notion of a
|
|
116
|
+
host to match labels against. [`@conformetry/nx`](../conformetry-nx/README.md)
|
|
117
|
+
reads them as Nx project tags and resolves each group's globs _inside_ every
|
|
118
|
+
matching project; another host is free to read them as something else. A group
|
|
119
|
+
naming only `tags` is legal — it selects without locating, which is what a
|
|
120
|
+
template with no instances yet wants.
|
|
121
|
+
|
|
122
|
+
### Directory globs versus file globs
|
|
123
|
+
|
|
124
|
+
The two behave differently on purpose, and the difference is what lets a
|
|
125
|
+
small template win against a large one.
|
|
126
|
+
|
|
127
|
+
- A **directory glob** leaves the match scope open, and the largest fitting
|
|
128
|
+
template wins.
|
|
129
|
+
- A **file glob** narrows the scope to the matched files, so a template
|
|
130
|
+
describing exactly those files fits better than one describing the whole
|
|
131
|
+
directory.
|
|
132
|
+
|
|
133
|
+
That is how a two-file template such as `nestjs-service-file` is matchable at
|
|
134
|
+
all inside a directory a five-file module template also claims:
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
instances: [
|
|
138
|
+
{ patterns: ["src/modules/*/*.service.ts", "src/modules/*/*.service.unit.test.ts"] },
|
|
139
|
+
];
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Where a template is laid down
|
|
143
|
+
|
|
144
|
+
A template that produces a _folder_ contains that folder, so its instance path
|
|
145
|
+
is the folder's **parent**: `nestjs-service-module` holds `{{nameKebabCase}}/…`,
|
|
146
|
+
and its instances are `…/src/modules`. A template that produces loose files
|
|
147
|
+
holds them at its root, and its instance path is the directory those files sit
|
|
148
|
+
in.
|
|
149
|
+
|
|
150
|
+
## Thresholds
|
|
151
|
+
|
|
152
|
+
An instance passes when its conformance score reaches the threshold that
|
|
153
|
+
applies to it. Three levels set it, and the narrowest wins:
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
instances[].threshold ?? generator.threshold ?? runThreshold ?? 1
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
A level left unset stays unset rather than being filled with the default — that
|
|
160
|
+
is what lets a host's own `--threshold` reach an instance whose generator has
|
|
161
|
+
no opinion. The default of `1` is applied only at the end of the chain, so
|
|
162
|
+
nothing configured is quietly overridden, and a level nobody set is not
|
|
163
|
+
quietly treated as if they had.
|
|
164
|
+
|
|
165
|
+
```ts
|
|
166
|
+
{
|
|
167
|
+
name: "nestjs-service-module",
|
|
168
|
+
templatePath: "templates/nestjs-service-module",
|
|
169
|
+
threshold: 1, // strict everywhere by default
|
|
170
|
+
instances: [
|
|
171
|
+
{ patterns: ["packages/*/src/modules/*"] },
|
|
172
|
+
{
|
|
173
|
+
patterns: ["applications/legacy/src/modules/*"],
|
|
174
|
+
threshold: 0.75, // …except while migrating this one
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
When two groups locate the same instance with different thresholds the
|
|
181
|
+
strictest wins: nothing makes one group more specific than another, and letting
|
|
182
|
+
order decide would mean a lenient group could silently relax a bar someone else
|
|
183
|
+
set.
|
|
184
|
+
|
|
185
|
+
## Inputs
|
|
186
|
+
|
|
187
|
+
Each entry in `inputs` is a JSON Schema fragment. Only `properties` and
|
|
188
|
+
`required` are read — enough to know an input's name, whether it must be
|
|
189
|
+
supplied, and what to say when prompting for it.
|
|
190
|
+
|
|
191
|
+
Authoring them by hand is verbose, so deriving them from a schema library is
|
|
192
|
+
the usual approach:
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
import { z } from "zod";
|
|
196
|
+
|
|
197
|
+
function defineInputs(shape: z.ZodRawShape) {
|
|
198
|
+
return z.toJSONSchema(z.object(shape)).properties ?? {};
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
inputs: defineInputs({
|
|
202
|
+
name: z.string().describe("Module name in kebab-case"),
|
|
203
|
+
project: z.string().describe("Parent project name in kebab-case"),
|
|
204
|
+
});
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Values are resolved in order: flags passed on the command line first, then
|
|
208
|
+
interactive prompts for anything still missing. Prompting is skipped entirely
|
|
209
|
+
when stdin is not a TTY or `CI` is `true`, so a missing input fails the command
|
|
210
|
+
rather than hanging it.
|
|
211
|
+
|
|
212
|
+
## Matching
|
|
213
|
+
|
|
214
|
+
Validation does not record which template produced a file. It works it out:
|
|
215
|
+
every instance is weighed against every template by the share of the template's
|
|
216
|
+
files the instance already has, and the best fit wins.
|
|
217
|
+
|
|
218
|
+
Two outcomes are reported rather than skipped, because a glob is the author
|
|
219
|
+
asserting that these paths _are_ instances:
|
|
220
|
+
|
|
221
|
+
| Reason | Meaning |
|
|
222
|
+
| ------ | ------- |
|
|
223
|
+
| `no-match` | No template explains this instance well enough |
|
|
224
|
+
| `ambiguous` | Two or more templates tied, so they are indistinguishable here |
|
|
225
|
+
|
|
226
|
+
## Exports
|
|
227
|
+
|
|
228
|
+
| Export | Purpose |
|
|
229
|
+
| ------ | ------- |
|
|
230
|
+
| `ConfigurationService` | Everything this layer answers: loading a configuration file, reading templates, expanding globs into instances, matching the two, rendering placeholders, and resolving generator inputs |
|
|
231
|
+
| `ConfigurationModule` | The NestJS module that provides it |
|
|
232
|
+
| `ConformetryConfiguration` | The loaded configuration type — author your config as this |
|
|
233
|
+
| `ConformetryInstanceGroup`, `ConformetryGeneratorDefinition` | Field-level types for the above |
|
|
234
|
+
|
|
235
|
+
**One service and one module, and no other collaborator** — the same pair
|
|
236
|
+
`@callidescope/configuration`, `@codependix/configuration` and
|
|
237
|
+
`@codometer/configuration` publish, so learning one of the four teaches you all
|
|
238
|
+
of them.
|
|
239
|
+
|
|
240
|
+
Behind the facade, template discovery, instance discovery, rendering, instance
|
|
241
|
+
groups, and input resolution stay six separate classes in six separate files,
|
|
242
|
+
because they are six different jobs. What they are not is six entry points a
|
|
243
|
+
host has to know the names of: a consumer imports `ConfigurationModule` and
|
|
244
|
+
injects `ConfigurationService`.
|
|
245
|
+
|
|
246
|
+
Loading a configuration file is the one job `ConfigurationService` holds
|
|
247
|
+
itself; everything that touches paths is a one-line hand-off to the
|
|
248
|
+
collaborator that owns it.
|
|
249
|
+
|
|
250
|
+
## Test
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
nx run conformetry-configuration:vitest
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## License
|
|
257
|
+
|
|
258
|
+
MIT — see [LICENSE](../../../../LICENSE).
|
|
259
|
+
|
|
260
|
+
## 👔 Conformetry
|
|
261
|
+
|
|
262
|
+
This project was generated from the [nestjs-service-project](../../../../configuration/conformetry-templates/nestjs-service-project) conformetry template.
|
|
263
|
+
|
|
264
|
+
<!-- callidescope:start -->
|
|
265
|
+
|
|
266
|
+
## 🔭 Callidescope
|
|
267
|
+
|
|
268
|
+
Call stacks traced through `packages/ic-suite/conformetry/conformetry-configuration`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
|
|
269
|
+
|
|
270
|
+
| Measure | Value |
|
|
271
|
+
| --- | --- |
|
|
272
|
+
| Callables | 167 |
|
|
273
|
+
| Files | 37 |
|
|
274
|
+
| Calls traced | 151 |
|
|
275
|
+
| Call stacks | 5 |
|
|
276
|
+
| Deepest stack | 10 |
|
|
277
|
+
| Stacks through recursion | 0 |
|
|
278
|
+
| Unfollowable calls | 7 |
|
|
279
|
+
|
|
280
|
+
### Limits
|
|
281
|
+
|
|
282
|
+
What this project is judged against, as declared in its own `callidescope.config.ts`.
|
|
283
|
+
|
|
284
|
+
| Limit | Value |
|
|
285
|
+
| --- | --- |
|
|
286
|
+
| `maximumDepth` | 14 |
|
|
287
|
+
| `maximumBreadth` | 5 |
|
|
288
|
+
|
|
289
|
+
### Call stacks (depth)
|
|
290
|
+
|
|
291
|
+
**1. `InstanceDiscoveryService.matchTemplates`** — depth ≥ 10 · orphan-root
|
|
292
|
+
|
|
293
|
+
```text
|
|
294
|
+
🚀 InstanceDiscoveryService.matchTemplates(…): TemplateMatch[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:103]
|
|
295
|
+
↳ Ranks every template that shares a file with one instance, best first.
|
|
296
|
+
└─> InstanceDiscoveryMatchingService.matchTemplates(…): TemplateMatch[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:154]
|
|
297
|
+
↳ Weighs every template that shares at least one file with the instance, best-first.
|
|
298
|
+
└─> InstanceDiscoveryMatchingService.map(…)(…): { matchedFileCount: number; matchRatio: number; template: TemplateDefinition; } [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:160]
|
|
299
|
+
└─> TemplateDiscoveryService.countMatchingFiles(…): number [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:121]
|
|
300
|
+
↳ Counts how many of a template's files the instance path already has.
|
|
301
|
+
└─> TemplateDiscoveryService.filter(…)(templateFilePath: string): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:130]
|
|
302
|
+
└─> TemplateDiscoveryService.resolveInstanceFilePath(…): string [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:179]
|
|
303
|
+
↳ Maps a template file path to the instance file path it governs.
|
|
304
|
+
└─> RenderingService.renderPath(…): string [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:142]
|
|
305
|
+
↳ Renders a template path with mustache, the same way contents are rendered.
|
|
306
|
+
└─> RenderingService.assertEverySubstitutionSupplied(…): void [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:35]
|
|
307
|
+
↳ Refuses to render a template asking for a value nobody supplied.
|
|
308
|
+
└─> RenderingService.collectInterpolatedNames(template: string): string[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:61]
|
|
309
|
+
↳ Every placeholder a template interpolates, deduplicated.
|
|
310
|
+
└─> RenderingService.walk(spans: TemplateSpans): void [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:63]
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**2. `InputService.resolveInputsFromValues`** — depth ≥ 8 · orphan-root
|
|
314
|
+
|
|
315
|
+
```text
|
|
316
|
+
🚀 InputService.resolveInputsFromValues(args: ResolveInputsFromValuesArguments): Promise<Record<string, string>> [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:195]
|
|
317
|
+
↳ Resolves inputs from values the caller already parsed.
|
|
318
|
+
└─> InputService.resolveInputs(…): Promise<Record<string, string>> [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:53]
|
|
319
|
+
↳ Walks a schema, taking each value from the resolver or a prompt.
|
|
320
|
+
└─> InputService.acceptProvidedValue(args: { input: SchemaInput; value: string; }): string [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:39]
|
|
321
|
+
↳ Validates a value the caller already had, throwing if it is invalid.
|
|
322
|
+
└─> InputSchemaService.validateValue(args: { input: SchemaInput; value: unknown; }): string | true [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:158]
|
|
323
|
+
↳ Validates a value, returning `true` or the reason it failed.
|
|
324
|
+
└─> InputSchemaService.validateEnum(args: { input: SchemaInput; value: string; }): string | true [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:39]
|
|
325
|
+
↳ Validates a value against a schema `enum`, when one is declared.
|
|
326
|
+
└─> InputSchemaService.readEnumValues(propertySchema: unknown): string[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:123]
|
|
327
|
+
↳ Reads the string members of a schema `enum`.
|
|
328
|
+
└─> InputSchemaService.readSchemaProperty(propertySchema: unknown, key: string): unknown [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:26]
|
|
329
|
+
↳ Reads one property off a schema fragment when it is an object.
|
|
330
|
+
└─> InputSchemaService.find(…)([entryKey]: [string, any]): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:31]
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**3. `InputPromptingService.validate`** — depth 6 · orphan-root
|
|
334
|
+
|
|
335
|
+
```text
|
|
336
|
+
🚀 InputPromptingService.validate(value: unknown): string | true [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:105]
|
|
337
|
+
└─> InputSchemaService.validateValue(args: { input: SchemaInput; value: unknown; }): string | true [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:158]
|
|
338
|
+
↳ Validates a value, returning `true` or the reason it failed.
|
|
339
|
+
└─> InputSchemaService.validateEnum(args: { input: SchemaInput; value: string; }): string | true [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:39]
|
|
340
|
+
↳ Validates a value against a schema `enum`, when one is declared.
|
|
341
|
+
└─> InputSchemaService.readEnumValues(propertySchema: unknown): string[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:123]
|
|
342
|
+
↳ Reads the string members of a schema `enum`.
|
|
343
|
+
└─> InputSchemaService.readSchemaProperty(propertySchema: unknown, key: string): unknown [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:26]
|
|
344
|
+
↳ Reads one property off a schema fragment when it is an object.
|
|
345
|
+
└─> InputSchemaService.find(…)([entryKey]: [string, any]): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:31]
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
<details>
|
|
349
|
+
<summary>2 more call stacks</summary>
|
|
350
|
+
|
|
351
|
+
**4. `assertNoCollisions`** — depth ≥ 3 · orphan-root
|
|
352
|
+
|
|
353
|
+
```text
|
|
354
|
+
🚀 assertNoCollisions(…): void [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:28]
|
|
355
|
+
↳ Fails when two generators would answer to the same thing.
|
|
356
|
+
└─> findDuplicates(…): { message: string; path: (string | number)[]; }[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:62]
|
|
357
|
+
↳ Reports every key more than one generator claims.
|
|
358
|
+
└─> map(…)(…): { message: string; path: number[]; } [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:84]
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**5. `InstanceDiscoveryService.buildSubstitutions`** — depth 3 · orphan-root
|
|
362
|
+
|
|
363
|
+
```text
|
|
364
|
+
🚀 InstanceDiscoveryService.buildSubstitutions(…): Substitutions [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:83]
|
|
365
|
+
↳ Builds the substitutions an instance's template is rendered with.
|
|
366
|
+
└─> InstanceDiscoveryMatchingService.buildSubstitutions(instance: Instance): Substitutions [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:72]
|
|
367
|
+
↳ Builds the substitutions an instance's template is rendered with.
|
|
368
|
+
└─> RenderingService.buildNameSubstitutions(name: string): Substitutions [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:94]
|
|
369
|
+
↳ Derives the case variants every template can reference from one name.
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
</details>
|
|
373
|
+
|
|
374
|
+
### Breadth
|
|
375
|
+
|
|
376
|
+
| Callable | Breadth | Calls directly | Location |
|
|
377
|
+
| --- | --- | --- | --- |
|
|
378
|
+
| `InstanceDiscoveryMatchingService.matchInstances` | 5 | `InstanceDiscoveryMatchingService.buildSubstitutions`, `InstanceDiscoveryMatchingService.matchTemplates`, `InstanceDiscoveryMatchingService.filter(…)`, `InstanceDiscoveryMatchingService.map(…)`, `InstanceDiscoveryMatchingService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:93` |
|
|
379
|
+
| `InputPromptingService.promptForInput` | 4 | `InputPromptingService.assertCanPrompt`, `InputSchemaService.readEnumValues`, `InputPromptingService.map(…)`, `InputSchemaService.readPromptMessage` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:90` |
|
|
380
|
+
| `InputService.resolveInputs` | 4 | `InputSchemaService.readPropertyNames`, `InputSchemaService.describeInput`, `InputService.acceptProvidedValue`, `InputService.resolveMissingValue` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:53` |
|
|
381
|
+
|
|
382
|
+
<details>
|
|
383
|
+
<summary>91 more callables</summary>
|
|
384
|
+
|
|
385
|
+
| Callable | Breadth | Calls directly | Location |
|
|
386
|
+
| --- | --- | --- | --- |
|
|
387
|
+
| `InputService.resolveMissingValue` | 4 | `InputPromptingService.isAtTerminal`, `missingInputError`, `InputPromptingService.promptForInput`, `InputSchemaService.validateValue` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:94` |
|
|
388
|
+
| `InstanceDiscoveryLocatingService.findInstances` | 4 | `InstanceDiscoveryLocatingService.resolveGlobSuffix`, `InstanceDiscoveryLocatingService.resolveNameStem`, `InstanceDiscoveryLocatingService.map(…)`, `InstanceDiscoveryLocatingService.toSorted(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:121` |
|
|
389
|
+
| `InstanceDiscoveryService.resolveInventoriedInstances` | 4 | `InstanceDiscoveryService.takeInventory`, `InstanceDiscoveryService.map(…)`, `InstanceDiscoveryService.filter(…)`, `InstanceDiscoveryService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:191` |
|
|
390
|
+
| `InstanceDiscoveryService.resolveInventoriedTemplates` | 4 | `InstanceDiscoveryService.takeInventory`, `InstanceDiscoveryService.filter(…)`, `InstanceDiscoveryService.map(…)`, `InstanceDiscoveryService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:216` |
|
|
391
|
+
| `InstanceDiscoveryService.takeInventory` | 4 | `TemplateDiscoveryService.collectTemplates`, `InstanceDiscoveryService.flatMap(…)`, `InstanceDiscoveryService.findInstances`, `InstanceDiscoveryService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:255` |
|
|
392
|
+
| `ConfigurationService.loadConformetryConfiguration` | 4 | `ConfigurationService.resolveConfigurationPath`, `UnknownConfigurationFileTypeError.constructor`, `ConfigurationService.loadConfigurationModule`, `ConfigurationService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:243` |
|
|
393
|
+
| `assertNoCollisions` | 3 | `findDuplicates`, `findUnusableNames`, `findReservedNames` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:28` |
|
|
394
|
+
| `findReservedNames` | 3 | `map(…)`, `filter(…)`, `map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:97` |
|
|
395
|
+
| `findUnusableNames` | 3 | `map(…)`, `filter(…)`, `map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:112` |
|
|
396
|
+
| `InputOptionsService.collectOneInput` | 3 | `InputOptionsService.readOptionName`, `InputOptionsService.resolvePropertyName`, `InputOptionsService.readOptionValue` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-options.service.ts:38` |
|
|
397
|
+
| `InputSchemaService.validateValue` | 3 | `InputSchemaService.validateEnum`, `InputSchemaService.validateLength`, `InputSchemaService.validatePattern` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:158` |
|
|
398
|
+
| `RenderingService.assertEverySubstitutionSupplied` | 3 | `RenderingService.filter(…)`, `RenderingService.collectInterpolatedNames`, `MissingSubstitutionError.constructor` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:35` |
|
|
399
|
+
| `InstanceDiscoveryMatchingService.matchTemplates` | 3 | `InstanceDiscoveryMatchingService.toSorted(…)`, `InstanceDiscoveryMatchingService.filter(…)`, `InstanceDiscoveryMatchingService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:154` |
|
|
400
|
+
| `InstanceDiscoveryService.weighInstance` | 3 | `InstanceDiscoveryService.map(…)`, `InstanceDiscoveryMatchingService.matchTemplates`, `InstanceDiscoveryMatchingService.buildSubstitutions` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:56` |
|
|
401
|
+
| `InstanceDiscoveryService.map(…)` | 3 | `InstanceDiscoveryService.filter(…)`, `InstanceDiscoveryService.map(…)`, `InstanceDiscoveryService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:118` |
|
|
402
|
+
| `findDuplicates` | 2 | `map(…)`, `filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.utilities.ts:62` |
|
|
403
|
+
| `InputSchemaService.readEnumValues` | 2 | `InputSchemaService.readSchemaProperty`, `InputSchemaService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:123` |
|
|
404
|
+
| `InputPromptingService.assertCanPrompt` | 2 | `InputPromptingService.isAtTerminal`, `missingInputError` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:50` |
|
|
405
|
+
| `InputPromptingService.promptForTemplates` | 2 | `InputPromptingService.map(…)`, `InputPromptingService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:144` |
|
|
406
|
+
| `InputService.parseCommaDelimitedOption` | 2 | `InputService.filter(…)`, `InputService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:118` |
|
|
407
|
+
| `InputService.resolveGeneratorInputs` | 2 | `InputOptionsService.collectGeneratorInputs`, `InputService.resolveInputs` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:180` |
|
|
408
|
+
| `TemplateDiscoveryService.prepareDocument` | 2 | `TemplateDiscoveryService.resolveInstanceFilePath`, `RenderingService.renderContent` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:153` |
|
|
409
|
+
| `InstanceDiscoveryService.flatMap(…)` | 2 | `InstanceDiscoveryService.flatMap(…)`, `InstanceDiscoveryService.readWorkspaceGroups` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:265` |
|
|
410
|
+
| `missingInputError` | 1 | `InputError.constructor` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.constants.ts:65` |
|
|
411
|
+
| `InputOptionsService.resolvePropertyName` | 1 | `InputOptionsService.find(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-options.service.ts:104` |
|
|
412
|
+
| `InputOptionsService.collectGeneratorInputs` | 1 | `InputOptionsService.collectOneInput` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-options.service.ts:124` |
|
|
413
|
+
| `InputSchemaService.readSchemaProperty` | 1 | `InputSchemaService.find(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:26` |
|
|
414
|
+
| `InputSchemaService.validateEnum` | 1 | `InputSchemaService.readEnumValues` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:39` |
|
|
415
|
+
| `InputSchemaService.validateLength` | 1 | `InputSchemaService.readSchemaProperty` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:53` |
|
|
416
|
+
| `InputSchemaService.validatePattern` | 1 | `InputSchemaService.readSchemaProperty` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:85` |
|
|
417
|
+
| `InputSchemaService.readPromptMessage` | 1 | `InputSchemaService.readSchemaProperty` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-schema.service.ts:136` |
|
|
418
|
+
| `InputPromptingService.validate` | 1 | `InputSchemaService.validateValue` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:105` |
|
|
419
|
+
| `InputPromptingService.promptForTemplate` | 1 | `InputPromptingService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:122` |
|
|
420
|
+
| `InputPromptingService.map(…)` | 1 | `InputPromptingService.describeChoice` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:126` |
|
|
421
|
+
| `InputPromptingService.map(…)` | 1 | `InputPromptingService.describeChoice` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input-prompting.service.ts:154` |
|
|
422
|
+
| `InputService.acceptProvidedValue` | 1 | `InputSchemaService.validateValue` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:39` |
|
|
423
|
+
| `InputService.parseThresholdOption` | 1 | `InputService.parseOptionalOption` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:161` |
|
|
424
|
+
| `InputService.resolveInputsFromValues` | 1 | `InputService.resolveInputs` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/input/input.service.ts:195` |
|
|
425
|
+
| `MissingSubstitutionError.constructor` | 1 | `MissingSubstitutionError.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.constants.ts:31` |
|
|
426
|
+
| `RenderingService.collectInterpolatedNames` | 1 | `RenderingService.walk` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:61` |
|
|
427
|
+
| `RenderingService.renderContent` | 1 | `RenderingService.assertEverySubstitutionSupplied` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:115` |
|
|
428
|
+
| `RenderingService.renderPath` | 1 | `RenderingService.assertEverySubstitutionSupplied` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:142` |
|
|
429
|
+
| `TemplateDiscoveryService.collectTemplate` | 1 | `TemplateDiscoveryService.collectFilePaths` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:78` |
|
|
430
|
+
| `TemplateDiscoveryService.collectTemplates` | 1 | `TemplateDiscoveryService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:98` |
|
|
431
|
+
| `TemplateDiscoveryService.map(…)` | 1 | `TemplateDiscoveryService.collectTemplate` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:102` |
|
|
432
|
+
| `TemplateDiscoveryService.countMatchingFiles` | 1 | `TemplateDiscoveryService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:121` |
|
|
433
|
+
| `TemplateDiscoveryService.filter(…)` | 1 | `TemplateDiscoveryService.resolveInstanceFilePath` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:130` |
|
|
434
|
+
| `TemplateDiscoveryService.resolveInstanceFilePath` | 1 | `RenderingService.renderPath` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:179` |
|
|
435
|
+
| `InstanceDiscoveryLocatingService.resolveGlobSuffix` | 1 | `InstanceDiscoveryLocatingService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:73` |
|
|
436
|
+
| `InstanceDiscoveryLocatingService.map(…)` | 1 | `InstanceDiscoveryLocatingService.deriveLocationSubstitutions` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:162` |
|
|
437
|
+
| `InstanceDiscoveryMatchingService.buildSubstitutions` | 1 | `RenderingService.buildNameSubstitutions` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:72` |
|
|
438
|
+
| `InstanceDiscoveryMatchingService.map(…)` | 1 | `TemplateDiscoveryService.countMatchingFiles` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:160` |
|
|
439
|
+
| `InstanceDiscoveryMatchingService.toSorted(…)` | 1 | `InstanceDiscoveryMatchingService.compareMatches` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:180` |
|
|
440
|
+
| `InstanceDiscoveryService.buildSubstitutions` | 1 | `InstanceDiscoveryMatchingService.buildSubstitutions` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:83` |
|
|
441
|
+
| `InstanceDiscoveryService.findInstances` | 1 | `InstanceDiscoveryLocatingService.findInstances` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:90` |
|
|
442
|
+
| `InstanceDiscoveryService.matchInstances` | 1 | `InstanceDiscoveryMatchingService.matchInstances` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:95` |
|
|
443
|
+
| `InstanceDiscoveryService.matchTemplates` | 1 | `InstanceDiscoveryMatchingService.matchTemplates` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:103` |
|
|
444
|
+
| `InstanceDiscoveryService.prepareDocuments` | 1 | `InstanceDiscoveryService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:113` |
|
|
445
|
+
| `InstanceDiscoveryService.map(…)` | 1 | `TemplateDiscoveryService.prepareDocument` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:124` |
|
|
446
|
+
| `InstanceDiscoveryService.readWorkspaceGroups` | 1 | `InstanceDiscoveryService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:158` |
|
|
447
|
+
| `InstanceDiscoveryService.filter(…)` | 1 | `InstanceGroupService.isProjectScoped` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:161` |
|
|
448
|
+
| `InstanceDiscoveryService.resolveInstanceFiles` | 1 | `InstanceDiscoveryService.flatMap(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:167` |
|
|
449
|
+
| `InstanceDiscoveryService.flatMap(…)` | 1 | `InstanceDiscoveryService.map(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:168` |
|
|
450
|
+
| `InstanceDiscoveryService.map(…)` | 1 | `TemplateDiscoveryService.resolveInstanceFilePath` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:169` |
|
|
451
|
+
| `InstanceDiscoveryService.map(…)` | 1 | `InstanceDiscoveryService.filter(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:200` |
|
|
452
|
+
| `InstanceDiscoveryService.map(…)` | 1 | `InstanceDiscoveryService.flatMap(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:228` |
|
|
453
|
+
| `InstanceDiscoveryService.flatMap(…)` | 1 | `InstanceDiscoveryService.find(…)` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:229` |
|
|
454
|
+
| `InstanceDiscoveryService.map(…)` | 1 | `InstanceDiscoveryService.weighInstance` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:277` |
|
|
455
|
+
| `ConfigurationService.loadConfigurationModule` | 1 | `ConfigurationService.loadJsonConfiguration` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:135` |
|
|
456
|
+
| `ConfigurationService.resolveConfigurationPath` | 1 | `ConfigurationService.findWorkspaceRoot` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:174` |
|
|
457
|
+
| `ConfigurationService.buildNameSubstitutions` | 1 | `RenderingService.buildNameSubstitutions` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:202` |
|
|
458
|
+
| `ConfigurationService.collectTemplate` | 1 | `TemplateDiscoveryService.collectTemplate` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:207` |
|
|
459
|
+
| `ConfigurationService.collectTemplates` | 1 | `TemplateDiscoveryService.collectTemplates` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:214` |
|
|
460
|
+
| `ConfigurationService.findInstances` | 1 | `InstanceDiscoveryService.findInstances` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:222` |
|
|
461
|
+
| `ConfigurationService.isAtTerminal` | 1 | `InputPromptingService.isAtTerminal` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:227` |
|
|
462
|
+
| `ConfigurationService.isProjectScoped` | 1 | `InstanceGroupService.isProjectScoped` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232` |
|
|
463
|
+
| `ConfigurationService.map(…)` | 1 | `ConfigurationService.applyGeneratorDefaults` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:259` |
|
|
464
|
+
| `ConfigurationService.matchInstances` | 1 | `InstanceDiscoveryService.matchInstances` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:263` |
|
|
465
|
+
| `ConfigurationService.parseCommaDelimitedOption` | 1 | `InputService.parseCommaDelimitedOption` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:271` |
|
|
466
|
+
| `ConfigurationService.parseOptionalOption` | 1 | `InputService.parseOptionalOption` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:278` |
|
|
467
|
+
| `ConfigurationService.parseThresholdOption` | 1 | `InputService.parseThresholdOption` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:283` |
|
|
468
|
+
| `ConfigurationService.prepareDocuments` | 1 | `InstanceDiscoveryService.prepareDocuments` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:291` |
|
|
469
|
+
| `ConfigurationService.promptForTemplate` | 1 | `InputPromptingService.promptForTemplate` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:298` |
|
|
470
|
+
| `ConfigurationService.promptForTemplates` | 1 | `InputPromptingService.promptForTemplates` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:305` |
|
|
471
|
+
| `ConfigurationService.readWorkspaceGroups` | 1 | `InstanceDiscoveryService.readWorkspaceGroups` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:312` |
|
|
472
|
+
| `ConfigurationService.renderContent` | 1 | `RenderingService.renderContent` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:319` |
|
|
473
|
+
| `ConfigurationService.renderPath` | 1 | `RenderingService.renderPath` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:326` |
|
|
474
|
+
| `ConfigurationService.resolveGeneratorInputs` | 1 | `InputService.resolveGeneratorInputs` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:333` |
|
|
475
|
+
| `ConfigurationService.resolveInstanceFiles` | 1 | `InstanceDiscoveryService.resolveInstanceFiles` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:340` |
|
|
476
|
+
| `ConfigurationService.resolveInventoriedInstances` | 1 | `InstanceDiscoveryService.resolveInventoriedInstances` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:345` |
|
|
477
|
+
| `ConfigurationService.resolveInventoriedTemplates` | 1 | `InstanceDiscoveryService.resolveInventoriedTemplates` | `packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:352` |
|
|
478
|
+
|
|
479
|
+
</details>
|
|
480
|
+
<!-- callidescope:end -->
|
|
481
|
+
|
|
482
|
+
## 🕸️ Codependix
|
|
483
|
+
|
|
484
|
+
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`.
|
|
485
|
+
|
|
486
|
+
### Nx Neighborhood
|
|
487
|
+
|
|
488
|
+
<!-- codependix:start name="codependix-nx-projects" -->
|
|
489
|
+
```mermaid
|
|
490
|
+
graph LR
|
|
491
|
+
conformetry_cli["conformetry-cli"]
|
|
492
|
+
conformetry_configuration["conformetry-configuration"]
|
|
493
|
+
conformetry_core["conformetry-core"]
|
|
494
|
+
conformetry_examples["conformetry-examples"]
|
|
495
|
+
conformetry_generation["conformetry-generation"]
|
|
496
|
+
conformetry_languages["conformetry-languages"]
|
|
497
|
+
conformetry_nx["conformetry-nx"]
|
|
498
|
+
conformetry_validation["conformetry-validation"]
|
|
499
|
+
synchronization["synchronization"]
|
|
500
|
+
conformetry_cli --> conformetry_configuration
|
|
501
|
+
conformetry_configuration --> conformetry_core
|
|
502
|
+
conformetry_examples --> conformetry_configuration
|
|
503
|
+
conformetry_generation --> conformetry_configuration
|
|
504
|
+
conformetry_languages --> conformetry_configuration
|
|
505
|
+
conformetry_nx --> conformetry_configuration
|
|
506
|
+
conformetry_validation --> conformetry_configuration
|
|
507
|
+
synchronization --> conformetry_configuration
|
|
508
|
+
classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
|
|
509
|
+
class conformetry_configuration subject
|
|
510
|
+
```
|
|
511
|
+
<!-- codependix:end name="codependix-nx-projects" -->
|
|
512
|
+
|
|
513
|
+
### NestJS Module Graph
|
|
514
|
+
|
|
515
|
+
<!-- codependix:start name="codependix-nestjs-modules" -->
|
|
516
|
+
```mermaid
|
|
517
|
+
flowchart LR
|
|
518
|
+
ConfigurationModule
|
|
519
|
+
InputModule
|
|
520
|
+
InstanceDiscoveryModule
|
|
521
|
+
InstanceGroupModule
|
|
522
|
+
RenderingModule
|
|
523
|
+
TemplateDiscoveryModule
|
|
524
|
+
ConfigurationModule --> InputModule
|
|
525
|
+
ConfigurationModule --> InstanceDiscoveryModule
|
|
526
|
+
ConfigurationModule --> InstanceGroupModule
|
|
527
|
+
ConfigurationModule --> RenderingModule
|
|
528
|
+
ConfigurationModule --> TemplateDiscoveryModule
|
|
529
|
+
InstanceDiscoveryModule --> InstanceGroupModule
|
|
530
|
+
InstanceDiscoveryModule --> RenderingModule
|
|
531
|
+
InstanceDiscoveryModule --> TemplateDiscoveryModule
|
|
532
|
+
TemplateDiscoveryModule --> RenderingModule
|
|
533
|
+
```
|
|
534
|
+
<!-- codependix:end name="codependix-nestjs-modules" -->
|
|
535
|
+
|
|
536
|
+
### File Imports
|
|
537
|
+
|
|
538
|
+
<!-- codependix:start name="codependix-file-imports" -->
|
|
539
|
+
```mermaid
|
|
540
|
+
graph LR
|
|
541
|
+
file_callidescope_config_ts["callidescope.config.ts"]
|
|
542
|
+
file_codependix_config_ts["codependix.config.ts"]
|
|
543
|
+
file_codometer_config_ts["codometer.config.ts"]
|
|
544
|
+
file_eslint_config_ts["eslint.config.ts"]
|
|
545
|
+
file_src_index_ts["src/index.ts"]
|
|
546
|
+
file_src_index_unit_test_ts["src/index.unit.test.ts"]
|
|
547
|
+
file_src_modules_configuration_configuration_constants_ts["src/modules/configuration/configuration.constants.ts"]
|
|
548
|
+
file_src_modules_configuration_configuration_module_ts["src/modules/configuration/configuration.module.ts"]
|
|
549
|
+
file_src_modules_configuration_configuration_module_unit_test_ts["src/modules/configuration/configuration.module.unit.test.ts"]
|
|
550
|
+
file_src_modules_configuration_configuration_service_ts["src/modules/configuration/configuration.service.ts"]
|
|
551
|
+
file_src_modules_configuration_configuration_service_unit_test_ts["src/modules/configuration/configuration.service.unit.test.ts"]
|
|
552
|
+
file_src_modules_configuration_configuration_types_ts["src/modules/configuration/configuration.types.ts"]
|
|
553
|
+
file_src_modules_configuration_configuration_utilities_ts["src/modules/configuration/configuration.utilities.ts"]
|
|
554
|
+
file_src_modules_input_input_options_service_ts["src/modules/input/input-options.service.ts"]
|
|
555
|
+
file_src_modules_input_input_options_service_unit_test_ts["src/modules/input/input-options.service.unit.test.ts"]
|
|
556
|
+
file_src_modules_input_input_prompting_service_ts["src/modules/input/input-prompting.service.ts"]
|
|
557
|
+
file_src_modules_input_input_prompting_service_unit_test_ts["src/modules/input/input-prompting.service.unit.test.ts"]
|
|
558
|
+
file_src_modules_input_input_schema_service_ts["src/modules/input/input-schema.service.ts"]
|
|
559
|
+
file_src_modules_input_input_schema_service_unit_test_ts["src/modules/input/input-schema.service.unit.test.ts"]
|
|
560
|
+
file_src_modules_input_input_constants_ts["src/modules/input/input.constants.ts"]
|
|
561
|
+
file_src_modules_input_input_module_ts["src/modules/input/input.module.ts"]
|
|
562
|
+
file_src_modules_input_input_service_ts["src/modules/input/input.service.ts"]
|
|
563
|
+
file_src_modules_input_input_service_unit_test_ts["src/modules/input/input.service.unit.test.ts"]
|
|
564
|
+
file_src_modules_input_input_types_ts["src/modules/input/input.types.ts"]
|
|
565
|
+
file_src_modules_instance_discovery_instance_discovery_locating_service_ts["src/modules/instance-discovery/instance-discovery-locating.service.ts"]
|
|
566
|
+
file_src_modules_instance_discovery_instance_discovery_locating_service_unit_test_ts["src/modules/instance-discovery/instance-discovery-locating.service.unit.test.ts"]
|
|
567
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts["src/modules/instance-discovery/instance-discovery-matching.service.ts"]
|
|
568
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_unit_test_ts["src/modules/instance-discovery/instance-discovery-matching.service.unit.test.ts"]
|
|
569
|
+
file_src_modules_instance_discovery_instance_discovery_constants_ts["src/modules/instance-discovery/instance-discovery.constants.ts"]
|
|
570
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts["src/modules/instance-discovery/instance-discovery.module.ts"]
|
|
571
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts["src/modules/instance-discovery/instance-discovery.service.ts"]
|
|
572
|
+
file_src_modules_instance_discovery_instance_discovery_service_unit_test_ts["src/modules/instance-discovery/instance-discovery.service.unit.test.ts"]
|
|
573
|
+
file_src_modules_instance_discovery_instance_discovery_types_ts["src/modules/instance-discovery/instance-discovery.types.ts"]
|
|
574
|
+
file_src_modules_instance_group_instance_group_constants_ts["src/modules/instance-group/instance-group.constants.ts"]
|
|
575
|
+
file_src_modules_instance_group_instance_group_module_ts["src/modules/instance-group/instance-group.module.ts"]
|
|
576
|
+
file_src_modules_instance_group_instance_group_service_ts["src/modules/instance-group/instance-group.service.ts"]
|
|
577
|
+
file_src_modules_instance_group_instance_group_service_unit_test_ts["src/modules/instance-group/instance-group.service.unit.test.ts"]
|
|
578
|
+
file_src_modules_instance_group_instance_group_types_ts["src/modules/instance-group/instance-group.types.ts"]
|
|
579
|
+
file_src_modules_rendering_rendering_constants_ts["src/modules/rendering/rendering.constants.ts"]
|
|
580
|
+
file_src_modules_rendering_rendering_module_ts["src/modules/rendering/rendering.module.ts"]
|
|
581
|
+
file_src_modules_rendering_rendering_service_ts["src/modules/rendering/rendering.service.ts"]
|
|
582
|
+
file_src_modules_rendering_rendering_service_unit_test_ts["src/modules/rendering/rendering.service.unit.test.ts"]
|
|
583
|
+
file_src_modules_rendering_rendering_types_ts["src/modules/rendering/rendering.types.ts"]
|
|
584
|
+
file_src_modules_template_discovery_template_discovery_constants_ts["src/modules/template-discovery/template-discovery.constants.ts"]
|
|
585
|
+
file_src_modules_template_discovery_template_discovery_module_ts["src/modules/template-discovery/template-discovery.module.ts"]
|
|
586
|
+
file_src_modules_template_discovery_template_discovery_service_ts["src/modules/template-discovery/template-discovery.service.ts"]
|
|
587
|
+
file_src_modules_template_discovery_template_discovery_service_unit_test_ts["src/modules/template-discovery/template-discovery.service.unit.test.ts"]
|
|
588
|
+
file_src_modules_template_discovery_template_discovery_types_ts["src/modules/template-discovery/template-discovery.types.ts"]
|
|
589
|
+
file_testing_mocks_ts["testing/mocks.ts"]
|
|
590
|
+
file_testing_setup_ts["testing/setup.ts"]
|
|
591
|
+
file_vite_config_ts["vite.config.ts"]
|
|
592
|
+
file_vitest_config_ts["vitest.config.ts"]
|
|
593
|
+
file_src_index_unit_test_ts --> file_src_index_ts
|
|
594
|
+
file_src_modules_configuration_configuration_constants_ts --> file_src_modules_configuration_configuration_utilities_ts
|
|
595
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_configuration_configuration_service_ts
|
|
596
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_input_input_module_ts
|
|
597
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_instance_discovery_instance_discovery_module_ts
|
|
598
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_instance_group_instance_group_module_ts
|
|
599
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_rendering_rendering_module_ts
|
|
600
|
+
file_src_modules_configuration_configuration_module_ts --> file_src_modules_template_discovery_template_discovery_module_ts
|
|
601
|
+
file_src_modules_configuration_configuration_module_unit_test_ts --> file_src_modules_configuration_configuration_module_ts
|
|
602
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_configuration_configuration_constants_ts
|
|
603
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_configuration_configuration_types_ts
|
|
604
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_input_input_prompting_service_ts
|
|
605
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_input_input_service_ts
|
|
606
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_input_input_types_ts
|
|
607
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_instance_discovery_instance_discovery_service_ts
|
|
608
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_instance_discovery_instance_discovery_types_ts
|
|
609
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
610
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_instance_group_instance_group_types_ts
|
|
611
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_rendering_rendering_service_ts
|
|
612
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_rendering_rendering_types_ts
|
|
613
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
614
|
+
file_src_modules_configuration_configuration_service_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
615
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_configuration_configuration_constants_ts
|
|
616
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_configuration_configuration_service_ts
|
|
617
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_configuration_configuration_types_ts
|
|
618
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_input_input_prompting_service_ts
|
|
619
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_input_input_service_ts
|
|
620
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_instance_discovery_instance_discovery_service_ts
|
|
621
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
622
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_rendering_rendering_service_ts
|
|
623
|
+
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
624
|
+
file_src_modules_configuration_configuration_types_ts --> file_src_modules_configuration_configuration_constants_ts
|
|
625
|
+
file_src_modules_configuration_configuration_types_ts --> file_src_modules_instance_group_instance_group_types_ts
|
|
626
|
+
file_src_modules_configuration_configuration_utilities_ts --> file_src_modules_input_input_constants_ts
|
|
627
|
+
file_src_modules_input_input_options_service_ts --> file_src_modules_configuration_configuration_types_ts
|
|
628
|
+
file_src_modules_input_input_options_service_ts --> file_src_modules_input_input_constants_ts
|
|
629
|
+
file_src_modules_input_input_options_service_unit_test_ts --> file_src_modules_input_input_options_service_ts
|
|
630
|
+
file_src_modules_input_input_prompting_service_ts --> file_src_modules_input_input_schema_service_ts
|
|
631
|
+
file_src_modules_input_input_prompting_service_ts --> file_src_modules_input_input_constants_ts
|
|
632
|
+
file_src_modules_input_input_prompting_service_ts --> file_src_modules_input_input_types_ts
|
|
633
|
+
file_src_modules_input_input_prompting_service_unit_test_ts --> file_src_modules_input_input_prompting_service_ts
|
|
634
|
+
file_src_modules_input_input_prompting_service_unit_test_ts --> file_src_modules_input_input_schema_service_ts
|
|
635
|
+
file_src_modules_input_input_schema_service_ts --> file_src_modules_configuration_configuration_types_ts
|
|
636
|
+
file_src_modules_input_input_schema_service_ts --> file_src_modules_input_input_types_ts
|
|
637
|
+
file_src_modules_input_input_schema_service_unit_test_ts --> file_src_modules_input_input_schema_service_ts
|
|
638
|
+
file_src_modules_input_input_module_ts --> file_src_modules_input_input_options_service_ts
|
|
639
|
+
file_src_modules_input_input_module_ts --> file_src_modules_input_input_prompting_service_ts
|
|
640
|
+
file_src_modules_input_input_module_ts --> file_src_modules_input_input_schema_service_ts
|
|
641
|
+
file_src_modules_input_input_module_ts --> file_src_modules_input_input_service_ts
|
|
642
|
+
file_src_modules_input_input_service_ts --> file_src_modules_input_input_options_service_ts
|
|
643
|
+
file_src_modules_input_input_service_ts --> file_src_modules_input_input_prompting_service_ts
|
|
644
|
+
file_src_modules_input_input_service_ts --> file_src_modules_input_input_schema_service_ts
|
|
645
|
+
file_src_modules_input_input_service_ts --> file_src_modules_input_input_constants_ts
|
|
646
|
+
file_src_modules_input_input_service_ts --> file_src_modules_input_input_types_ts
|
|
647
|
+
file_src_modules_input_input_service_unit_test_ts --> file_src_modules_input_input_options_service_ts
|
|
648
|
+
file_src_modules_input_input_service_unit_test_ts --> file_src_modules_input_input_prompting_service_ts
|
|
649
|
+
file_src_modules_input_input_service_unit_test_ts --> file_src_modules_input_input_schema_service_ts
|
|
650
|
+
file_src_modules_input_input_service_unit_test_ts --> file_src_modules_input_input_service_ts
|
|
651
|
+
file_src_modules_input_input_types_ts --> file_src_modules_configuration_configuration_types_ts
|
|
652
|
+
file_src_modules_instance_discovery_instance_discovery_locating_service_ts --> file_src_modules_instance_discovery_instance_discovery_constants_ts
|
|
653
|
+
file_src_modules_instance_discovery_instance_discovery_locating_service_ts --> file_src_modules_instance_discovery_instance_discovery_types_ts
|
|
654
|
+
file_src_modules_instance_discovery_instance_discovery_locating_service_unit_test_ts --> file_src_modules_instance_discovery_instance_discovery_locating_service_ts
|
|
655
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_instance_discovery_instance_discovery_constants_ts
|
|
656
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_instance_discovery_instance_discovery_types_ts
|
|
657
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_rendering_rendering_service_ts
|
|
658
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_rendering_rendering_types_ts
|
|
659
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
660
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
661
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_unit_test_ts --> file_src_modules_instance_discovery_instance_discovery_matching_service_ts
|
|
662
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_unit_test_ts --> file_src_modules_rendering_rendering_service_ts
|
|
663
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_unit_test_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
664
|
+
file_src_modules_instance_discovery_instance_discovery_matching_service_unit_test_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
665
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_instance_discovery_instance_discovery_locating_service_ts
|
|
666
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_instance_discovery_instance_discovery_matching_service_ts
|
|
667
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_instance_discovery_instance_discovery_service_ts
|
|
668
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_instance_group_instance_group_module_ts
|
|
669
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_rendering_rendering_module_ts
|
|
670
|
+
file_src_modules_instance_discovery_instance_discovery_module_ts --> file_src_modules_template_discovery_template_discovery_module_ts
|
|
671
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_instance_discovery_instance_discovery_locating_service_ts
|
|
672
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_instance_discovery_instance_discovery_matching_service_ts
|
|
673
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_instance_discovery_instance_discovery_types_ts
|
|
674
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
675
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_instance_group_instance_group_types_ts
|
|
676
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
677
|
+
file_src_modules_instance_discovery_instance_discovery_service_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
678
|
+
file_src_modules_instance_discovery_instance_discovery_service_unit_test_ts --> file_src_modules_configuration_configuration_types_ts
|
|
679
|
+
file_src_modules_instance_discovery_instance_discovery_service_unit_test_ts --> file_src_modules_instance_discovery_instance_discovery_module_ts
|
|
680
|
+
file_src_modules_instance_discovery_instance_discovery_service_unit_test_ts --> file_src_modules_instance_discovery_instance_discovery_service_ts
|
|
681
|
+
file_src_modules_instance_discovery_instance_discovery_service_unit_test_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
682
|
+
file_src_modules_instance_discovery_instance_discovery_types_ts --> file_src_modules_configuration_configuration_types_ts
|
|
683
|
+
file_src_modules_instance_discovery_instance_discovery_types_ts --> file_src_modules_rendering_rendering_types_ts
|
|
684
|
+
file_src_modules_instance_discovery_instance_discovery_types_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
685
|
+
file_src_modules_instance_group_instance_group_module_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
686
|
+
file_src_modules_instance_group_instance_group_service_ts --> file_src_modules_instance_group_instance_group_types_ts
|
|
687
|
+
file_src_modules_instance_group_instance_group_service_unit_test_ts --> file_src_modules_instance_group_instance_group_service_ts
|
|
688
|
+
file_src_modules_rendering_rendering_module_ts --> file_src_modules_rendering_rendering_service_ts
|
|
689
|
+
file_src_modules_rendering_rendering_service_ts --> file_src_modules_rendering_rendering_constants_ts
|
|
690
|
+
file_src_modules_rendering_rendering_service_ts --> file_src_modules_rendering_rendering_types_ts
|
|
691
|
+
file_src_modules_rendering_rendering_service_unit_test_ts --> file_src_modules_rendering_rendering_constants_ts
|
|
692
|
+
file_src_modules_rendering_rendering_service_unit_test_ts --> file_src_modules_rendering_rendering_service_ts
|
|
693
|
+
file_src_modules_template_discovery_template_discovery_module_ts --> file_src_modules_rendering_rendering_module_ts
|
|
694
|
+
file_src_modules_template_discovery_template_discovery_module_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
695
|
+
file_src_modules_template_discovery_template_discovery_service_ts --> file_src_modules_configuration_configuration_types_ts
|
|
696
|
+
file_src_modules_template_discovery_template_discovery_service_ts --> file_src_modules_rendering_rendering_service_ts
|
|
697
|
+
file_src_modules_template_discovery_template_discovery_service_ts --> file_src_modules_rendering_rendering_types_ts
|
|
698
|
+
file_src_modules_template_discovery_template_discovery_service_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
699
|
+
file_src_modules_template_discovery_template_discovery_service_unit_test_ts --> file_src_modules_rendering_rendering_service_ts
|
|
700
|
+
file_src_modules_template_discovery_template_discovery_service_unit_test_ts --> file_src_modules_template_discovery_template_discovery_service_ts
|
|
701
|
+
file_src_modules_template_discovery_template_discovery_service_unit_test_ts --> file_src_modules_template_discovery_template_discovery_types_ts
|
|
702
|
+
```
|
|
703
|
+
<!-- codependix:end name="codependix-file-imports" -->
|
|
704
|
+
|
|
705
|
+
<!-- codometer:start -->
|
|
706
|
+
|
|
707
|
+
## ⏲️ Codometer
|
|
708
|
+
|
|
709
|
+
### Project
|
|
710
|
+
|
|
711
|
+

|
|
712
|
+

|
|
713
|
+

|
|
714
|
+

|
|
715
|
+
|
|
716
|
+
### Measured Targets
|
|
717
|
+
|
|
718
|
+

|
|
719
|
+
|
|
720
|
+
### TypeScript
|
|
721
|
+
|
|
722
|
+

|
|
723
|
+

|
|
724
|
+

|
|
725
|
+

|
|
726
|
+

|
|
727
|
+

|
|
728
|
+

|
|
729
|
+
|
|
730
|
+
### JavaScript
|
|
731
|
+
|
|
732
|
+

|
|
733
|
+

|
|
734
|
+

|
|
735
|
+

|
|
736
|
+

|
|
737
|
+

|
|
738
|
+

|
|
739
|
+

|
|
740
|
+

|
|
741
|
+

|
|
742
|
+

|
|
743
|
+

|
|
744
|
+

|
|
745
|
+

|
|
746
|
+
|
|
747
|
+
### Python
|
|
748
|
+
|
|
749
|
+

|
|
750
|
+

|
|
751
|
+

|
|
752
|
+

|
|
753
|
+

|
|
754
|
+

|
|
755
|
+

|
|
756
|
+

|
|
757
|
+

|
|
758
|
+

|
|
759
|
+

|
|
760
|
+

|
|
761
|
+
|
|
762
|
+
### JSON
|
|
763
|
+
|
|
764
|
+

|
|
765
|
+

|
|
766
|
+

|
|
767
|
+

|
|
768
|
+

|
|
769
|
+

|
|
770
|
+

|
|
771
|
+

|
|
772
|
+

|
|
773
|
+

|
|
774
|
+

|
|
775
|
+

|
|
776
|
+
|
|
777
|
+
### YAML
|
|
778
|
+
|
|
779
|
+

|
|
780
|
+

|
|
781
|
+

|
|
782
|
+

|
|
783
|
+

|
|
784
|
+

|
|
785
|
+

|
|
786
|
+

|
|
787
|
+

|
|
788
|
+

|
|
789
|
+

|
|
790
|
+
|
|
791
|
+
### TOML
|
|
792
|
+
|
|
793
|
+

|
|
794
|
+

|
|
795
|
+

|
|
796
|
+

|
|
797
|
+

|
|
798
|
+

|
|
799
|
+

|
|
800
|
+
|
|
801
|
+
### Shell
|
|
802
|
+
|
|
803
|
+

|
|
804
|
+

|
|
805
|
+

|
|
806
|
+

|
|
807
|
+

|
|
808
|
+

|
|
809
|
+

|
|
810
|
+

|
|
811
|
+

|
|
812
|
+

|
|
813
|
+

|
|
814
|
+
|
|
815
|
+
### SQL
|
|
816
|
+
|
|
817
|
+

|
|
818
|
+

|
|
819
|
+

|
|
820
|
+

|
|
821
|
+

|
|
822
|
+

|
|
823
|
+

|
|
824
|
+

|
|
825
|
+

|
|
826
|
+

|
|
827
|
+

|
|
828
|
+
|
|
829
|
+
### HCL
|
|
830
|
+
|
|
831
|
+

|
|
832
|
+

|
|
833
|
+

|
|
834
|
+

|
|
835
|
+

|
|
836
|
+

|
|
837
|
+

|
|
838
|
+

|
|
839
|
+

|
|
840
|
+
|
|
841
|
+
### CSS
|
|
842
|
+
|
|
843
|
+

|
|
844
|
+

|
|
845
|
+

|
|
846
|
+

|
|
847
|
+

|
|
848
|
+

|
|
849
|
+

|
|
850
|
+

|
|
851
|
+

|
|
852
|
+
|
|
853
|
+
### Conventions
|
|
854
|
+
|
|
855
|
+

|
|
856
|
+

|
|
857
|
+

|
|
858
|
+

|
|
859
|
+

|
|
860
|
+

|
|
861
|
+

|
|
862
|
+

|
|
863
|
+

|
|
864
|
+

|
|
865
|
+

|
|
866
|
+

|
|
867
|
+

|
|
868
|
+

|
|
869
|
+

|
|
870
|
+

|
|
871
|
+

|
|
872
|
+

|
|
873
|
+
|
|
874
|
+
### Jupyter
|
|
875
|
+
|
|
876
|
+

|
|
877
|
+

|
|
878
|
+

|
|
879
|
+

|
|
880
|
+

|
|
881
|
+

|
|
882
|
+

|
|
883
|
+

|
|
884
|
+

|
|
885
|
+

|
|
886
|
+

|
|
887
|
+

|
|
888
|
+

|
|
889
|
+

|
|
890
|
+

|
|
891
|
+

|
|
892
|
+

|
|
893
|
+

|
|
894
|
+

|
|
895
|
+

|
|
896
|
+
|
|
897
|
+
### Markdown
|
|
898
|
+
|
|
899
|
+

|
|
900
|
+

|
|
901
|
+

|
|
902
|
+

|
|
903
|
+

|
|
904
|
+

|
|
905
|
+

|
|
906
|
+

|
|
907
|
+

|
|
908
|
+

|
|
909
|
+

|
|
910
|
+

|
|
911
|
+

|
|
912
|
+

|
|
913
|
+

|
|
914
|
+

|
|
915
|
+

|
|
916
|
+

|
|
917
|
+

|
|
918
|
+

|
|
919
|
+
<!-- codometer:end -->
|