@conformetry/nx 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## 0.0.18 (2026-10-13)
2
+
3
+ ### 💅 Refactors
4
+
5
+ - **configuration,codometer,validation:** ♻️ nest every project under a single projects folder ([#1439](https://github.com/organizzolini/codebase/pull/1439))
6
+
7
+ ### 🧱 Updated Dependencies
8
+
9
+ - Updated conformetry-configuration to 0.0.19
10
+ - Updated conformetry-generation to 0.0.19
11
+ - Updated conformetry-validation to 0.0.18
12
+ - Updated conformetry-output to 0.0.18
13
+
14
+ ## 0.0.17 (2026-10-13)
15
+
16
+ ### 🩹 Fixes
17
+
18
+ - **callidescope,codependix,configuration:** 🐛 harden the codependix nx plugin for consumers outside this workspace ([#1444](https://github.com/organizzolini/codebase/pull/1444), [#1433](https://github.com/organizzolini/codebase/issues/1433))
19
+
20
+ ### 🧱 Updated Dependencies
21
+
22
+ - Updated conformetry-configuration to 0.0.18
23
+ - Updated conformetry-generation to 0.0.18
24
+ - Updated conformetry-validation to 0.0.17
25
+ - Updated conformetry-output to 0.0.17
26
+
1
27
  ## 0.0.16 (2026-10-13)
2
28
 
3
29
  ### 🧱 Updated Dependencies
package/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@conformetry/nx?logo=npm&label=npm)](https://www.npmjs.com/package/@conformetry/nx)
4
4
 
5
- The Nx host for [Conformetry](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/conformetry/conformetry-cli#readme).
5
+ The Nx host for [Conformetry](https://github.com/Organizzolini/codebase/tree/main/projects/ic-suite/conformetry/conformetry-cli#readme).
6
6
  Canonical documentation for command behavior, configuration, template syntax, scoring, and validators is in the
7
- [@conformetry/cli README](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/conformetry/conformetry-cli#readme).
7
+ [@conformetry/cli README](https://github.com/Organizzolini/codebase/tree/main/projects/ic-suite/conformetry/conformetry-cli#readme).
8
8
  This package adds two things the standalone CLI cannot offer: generators addressed by name through `nx g`,
9
9
  and a cached validation target inferred onto every project that holds
10
10
  instances.
@@ -144,7 +144,7 @@ This project was generated from the [nestjs-service-project](../../../../configu
144
144
 
145
145
  ## 🔭 Callidescope
146
146
 
147
- Call stacks traced through `packages/ic-suite/conformetry/conformetry-nx`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
147
+ Call stacks traced through `projects/ic-suite/conformetry/conformetry-nx`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
148
148
 
149
149
  | Measure | Value |
150
150
  | --- | --- |
@@ -170,88 +170,88 @@ What this project is judged against, as declared in its own `callidescope.config
170
170
  **1. `validateExecutor`** — depth ≥ 15 · orphan-root
171
171
 
172
172
  ```text
173
- 🚀 validateExecutor(…): Promise<{ success: boolean; }> [packages/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16]
173
+ 🚀 validateExecutor(…): Promise<{ success: boolean; }> [projects/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16]
174
174
  ↳ Validates one project's instances against their conformetry templates.
175
- └─> PluginService.runValidation(args: RunValidationArguments): Promise<RunValidationResult> [packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:391]
175
+ └─> PluginService.runValidation(args: RunValidationArguments): Promise<RunValidationResult> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:391]
176
176
  ↳ Validates one project's instances and renders the report.
177
- └─> ValidationService.validate(args: RunValidationArguments): RunValidationResult [packages/ic-suite/conformetry/conformetry-validation/src/modules/validation/validation.service.ts:194]
177
+ └─> ValidationService.validate(args: RunValidationArguments): RunValidationResult [projects/ic-suite/conformetry/conformetry-validation/src/modules/validation/validation.service.ts:194]
178
178
  ↳ Validates every instance and returns the differences found.
179
- └─> ConfigurationService.matchInstances(…): ResolvedInstances [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:263]
179
+ └─> ConfigurationService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:263]
180
180
  ↳ Resolves every instance to the template, or templates, that explain it.
181
- └─> InstanceDiscoveryService.matchInstances(…): ResolvedInstances [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:123]
181
+ └─> InstanceDiscoveryService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:123]
182
182
  ↳ Resolves every instance to the template, or templates, that explain it.
183
- └─> InstanceDiscoveryMatchingService.matchInstances(…): ResolvedInstances [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:118]
183
+ └─> InstanceDiscoveryMatchingService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:118]
184
184
  ↳ Resolves every instance to the template — or templates — that explain it.
185
- └─> InstanceDiscoveryMatchingService.matchTemplates(…): TemplateMatch[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:180]
185
+ └─> InstanceDiscoveryMatchingService.matchTemplates(…): TemplateMatch[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:180]
186
186
  ↳ Weighs every template that shares at least one file with the instance, best-first.
187
- └─> InstanceDiscoveryMatchingService.map(…)(…): { matchedFileCount: number; matchRatio: number; template: TemplateDefinition; placeholderValues: Substitutions; substitutions: Substitutions; } [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:186]
188
- └─> TemplateDiscoveryService.countMatchingFiles(…): number [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:146]
187
+ └─> InstanceDiscoveryMatchingService.map(…)(…): { matchedFileCount: number; matchRatio: number; template: TemplateDefinition; placeholderValues: Substitutions; substitutions: Substitutions; } [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:186]
188
+ └─> TemplateDiscoveryService.countMatchingFiles(…): number [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:146]
189
189
  ↳ Counts how many of a template's files the instance path already has.
190
- └─> TemplateDiscoveryService.filter(…)(templateFilePath: string): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:155]
191
- └─> TemplateDiscoveryService.resolveInstanceFilePath(…): string [packages/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:204]
190
+ └─> TemplateDiscoveryService.filter(…)(templateFilePath: string): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:155]
191
+ └─> TemplateDiscoveryService.resolveInstanceFilePath(…): string [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:204]
192
192
  ↳ Maps a template file path to the instance file path it governs.
193
- └─> RenderingService.renderPath(…): string [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:142]
193
+ └─> RenderingService.renderPath(…): string [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:142]
194
194
  ↳ Renders a template path with mustache, the same way contents are rendered.
195
- └─> RenderingService.assertEverySubstitutionSupplied(…): void [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:35]
195
+ └─> RenderingService.assertEverySubstitutionSupplied(…): void [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:35]
196
196
  ↳ Refuses to render a template asking for a value nobody supplied.
197
- └─> RenderingService.collectInterpolatedNames(template: string): string[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:80]
197
+ └─> RenderingService.collectInterpolatedNames(template: string): string[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:80]
198
198
  ↳ Every placeholder a template interpolates, deduplicated.
199
- └─> RenderingService.walk(spans: TemplateSpans): void [packages/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:82]
199
+ └─> RenderingService.walk(spans: TemplateSpans): void [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:82]
200
200
  ```
201
201
 
202
202
  **2. `runConformetryGenerator`** — depth ≥ 14 · exported-function
203
203
 
204
204
  ```text
205
- 🚀 runConformetryGenerator(…): Promise<string[]> [packages/ic-suite/conformetry/conformetry-nx/src/index.ts:93]
205
+ 🚀 runConformetryGenerator(…): Promise<string[]> [projects/ic-suite/conformetry/conformetry-nx/src/index.ts:93]
206
206
  ↳ Runs one configured generator against an Nx tree.
207
- └─> PluginService.runGenerator(args: RunGeneratorArguments): Promise<string[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:330]
207
+ └─> PluginService.runGenerator(args: RunGeneratorArguments): Promise<string[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:330]
208
208
  ↳ Runs one configured generator against an Nx tree.
209
- └─> PluginService.assertPluginInSync(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:118]
209
+ └─> PluginService.assertPluginInSync(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:118]
210
210
  ↳ Fails fast when the plugin would run against a stale or broken setup.
211
- └─> PluginService.assertEmittedPluginCurrent(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:84]
211
+ └─> PluginService.assertEmittedPluginCurrent(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:84]
212
212
  ↳ Fails when the emitted Nx plugin no longer matches the configuration. `generators.json` and its schemas are derived…
213
- └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
213
+ └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
214
214
  ↳ Returns every file the consumer's generator plugin consists of.
215
- └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
216
- └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
215
+ └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
216
+ └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
217
217
  ↳ The projects a generator's tagged groups admit, or nothing when it has none.
218
- └─> ScopeService.resolveScopedProjectNames(…): string[] [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
218
+ └─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
219
219
  ↳ The projects a generator's groups admit, by name and sorted.
220
- └─> ScopeService.filter(…)(project: ProjectScope): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
221
- └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
222
- └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
220
+ └─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
221
+ └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
222
+ └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
223
223
  ↳ Returns whether a group applies to a project.
224
- └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
224
+ └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
225
225
  ↳ Whether a group locates its instances by project tag.
226
- └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
226
+ └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
227
227
  ↳ Whether a group locates its instances inside the hosts its tags select.
228
- └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
228
+ └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
229
229
  ↳ Whether a group locates its instances inside the hosts its tags select.
230
230
  ```
231
231
 
232
232
  **3. `runBootstrapCli`** — depth ≥ 12 · orphan-root
233
233
 
234
234
  ```text
235
- 🚀 runBootstrapCli(workspaceRoot: string): Promise<void> [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:74]
235
+ 🚀 runBootstrapCli(workspaceRoot: string): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:74]
236
236
  ↳ Bootstraps the plugin, warning rather than failing the install.
237
- └─> bootstrapPlugin(workspaceRoot: string): Promise<EmittedFile[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:39]
237
+ └─> bootstrapPlugin(workspaceRoot: string): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:39]
238
238
  ↳ Emits the generator plugin and puts it where Nx will find it.
239
- └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
239
+ └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
240
240
  ↳ Returns every file the consumer's generator plugin consists of.
241
- └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
242
- └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
241
+ └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
242
+ └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
243
243
  ↳ The projects a generator's tagged groups admit, or nothing when it has none.
244
- └─> ScopeService.resolveScopedProjectNames(…): string[] [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
244
+ └─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
245
245
  ↳ The projects a generator's groups admit, by name and sorted.
246
- └─> ScopeService.filter(…)(project: ProjectScope): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
247
- └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
248
- └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
246
+ └─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
247
+ └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
248
+ └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
249
249
  ↳ Returns whether a group applies to a project.
250
- └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
250
+ └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
251
251
  ↳ Whether a group locates its instances by project tag.
252
- └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
252
+ └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
253
253
  ↳ Whether a group locates its instances inside the hosts its tags select.
254
- └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
254
+ └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
255
255
  ↳ Whether a group locates its instances inside the hosts its tags select.
256
256
  ```
257
257
 
@@ -261,75 +261,75 @@ What this project is judged against, as declared in its own `callidescope.config
261
261
  **4. `anonymous`** — depth ≥ 11 · orphan-root
262
262
 
263
263
  ```text
264
- 🚀 anonymous(…): Promise<CreateNodesResultArray> [packages/ic-suite/conformetry/conformetry-nx/src/index.ts:49]
265
- └─> PluginService.inferTargets(args: InferTargetsArguments): Promise<Map<string, InferredTargets>> [packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:265]
264
+ 🚀 anonymous(…): Promise<CreateNodesResultArray> [projects/ic-suite/conformetry/conformetry-nx/src/index.ts:49]
265
+ └─> PluginService.inferTargets(args: InferTargetsArguments): Promise<Map<string, InferredTargets>> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:265]
266
266
  ↳ Infers a validation target onto every project that holds at least one instance.
267
- └─> InstancesService.findProjectInstances(args: FindProjectInstancesArguments): Promise<Instance[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:68]
267
+ └─> InstancesService.findProjectInstances(args: FindProjectInstancesArguments): Promise<Instance[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:68]
268
268
  ↳ Expands every instance group that applies to a project, keeping only the instances that live inside it.
269
- └─> InstancesService.flatMap(…)(this: undefined, group: ConformetryInstanceGroup): Instance[] [packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84]
270
- └─> ConfigurationService.findInstances(args: FindInstancesArguments): Instance[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:222]
269
+ └─> InstancesService.flatMap(…)(this: undefined, group: ConformetryInstanceGroup): Instance[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84]
270
+ └─> ConfigurationService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:222]
271
271
  ↳ Expands instance globs into the instances that exist.
272
- └─> InstanceDiscoveryService.findInstances(args: FindInstancesArguments): Instance[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:118]
272
+ └─> InstanceDiscoveryService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:118]
273
273
  ↳ Expands instance globs into the instances that exist.
274
- └─> InstanceDiscoveryLocatingService.findInstances(args: FindInstancesArguments): Instance[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:156]
274
+ └─> InstanceDiscoveryLocatingService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:156]
275
275
  ↳ Expands every pattern and returns one instance per distinct path, name, and scope kind.
276
- └─> InstanceDiscoveryLocatingService.globEntries(…): Dirent<string>[] [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:66]
276
+ └─> InstanceDiscoveryLocatingService.globEntries(…): Dirent<string>[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:66]
277
277
  ↳ Expands one pattern, leaving out every path an exclude glob matches.
278
- └─> InstanceDiscoveryLocatingService.filter(…)(entry: fs.Dirent<string>): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:76]
279
- └─> InstanceDiscoveryLocatingService.isExcluded(…): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:85]
278
+ └─> InstanceDiscoveryLocatingService.filter(…)(entry: fs.Dirent<string>): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:76]
279
+ └─> InstanceDiscoveryLocatingService.isExcluded(…): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:85]
280
280
  ↳ Whether an exclude glob matches a found path, workspace-relative.
281
- └─> InstanceDiscoveryLocatingService.some(…)(pattern: string): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:95]
281
+ └─> InstanceDiscoveryLocatingService.some(…)(pattern: string): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:95]
282
282
  ```
283
283
 
284
284
  **5. `syncGenerator`** — depth ≥ 11 · orphan-root
285
285
 
286
286
  ```text
287
- 🚀 syncGenerator(…): Promise<{ outOfSyncMessage: string; }> [packages/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:26]
287
+ 🚀 syncGenerator(…): Promise<{ outOfSyncMessage: string; }> [projects/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:26]
288
288
  ↳ Regenerates the workspace's conformetry generator plugin.
289
- └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
289
+ └─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
290
290
  ↳ Returns every file the consumer's generator plugin consists of.
291
- └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
292
- └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
291
+ └─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
292
+ └─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
293
293
  ↳ The projects a generator's tagged groups admit, or nothing when it has none.
294
- └─> ScopeService.resolveScopedProjectNames(…): string[] [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
294
+ └─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
295
295
  ↳ The projects a generator's groups admit, by name and sorted.
296
- └─> ScopeService.filter(…)(project: ProjectScope): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
297
- └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
298
- └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
296
+ └─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
297
+ └─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
298
+ └─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
299
299
  ↳ Returns whether a group applies to a project.
300
- └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
300
+ └─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
301
301
  ↳ Whether a group locates its instances by project tag.
302
- └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
302
+ └─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:232]
303
303
  ↳ Whether a group locates its instances inside the hosts its tags select.
304
- └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [packages/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
304
+ └─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
305
305
  ↳ Whether a group locates its instances inside the hosts its tags select.
306
306
  ```
307
307
 
308
308
  **6. `AdapterService.listDirectory`** — depth 3 · orphan-root
309
309
 
310
310
  ```text
311
- 🚀 AdapterService.listDirectory(directoryPath: string): Promise<DirectoryEntry[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114]
312
- └─> AdapterService.listDirectory(…): Promise<DirectoryEntry[]> [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42]
311
+ 🚀 AdapterService.listDirectory(directoryPath: string): Promise<DirectoryEntry[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114]
312
+ └─> AdapterService.listDirectory(…): Promise<DirectoryEntry[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42]
313
313
  ↳ Lists a directory through the tree when it is inside the workspace, and through the filesystem otherwise.
314
- └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
314
+ └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
315
315
  ↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…
316
316
  ```
317
317
 
318
318
  **7. `AdapterService.readFile`** — depth 3 · orphan-root
319
319
 
320
320
  ```text
321
- 🚀 AdapterService.readFile(filePath: string): Promise<string> [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124]
322
- └─> AdapterService.readFile(…): Promise<string> [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68]
321
+ 🚀 AdapterService.readFile(filePath: string): Promise<string> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124]
322
+ └─> AdapterService.readFile(…): Promise<string> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68]
323
323
  ↳ Reads a file through the tree when possible, the filesystem otherwise.
324
- └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
324
+ └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
325
325
  ↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…
326
326
  ```
327
327
 
328
328
  **8. `AdapterService.writeFile`** — depth 2 · orphan-root
329
329
 
330
330
  ```text
331
- 🚀 AdapterService.writeFile(filePath: string, content: string): Promise<void> [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131]
332
- └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
331
+ 🚀 AdapterService.writeFile(filePath: string, content: string): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131]
332
+ └─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
333
333
  ↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…
334
334
  ```
335
335
 
@@ -339,77 +339,77 @@ What this project is judged against, as declared in its own `callidescope.config
339
339
 
340
340
  | Callable | Breadth | Calls directly | Location |
341
341
  | --- | --- | --- | --- |
342
- | `PluginService.runGenerator` | 9 | `PluginService.resolveOptions`, `PluginService.assertPluginInSync`, `ConfigurationService.loadConformetryConfiguration`, `PluginService.find(…)`, `PluginService.map(…)`, `AdapterService.createAdapters`, `OptionsService.resolveGeneratorInputs`, `GenerationService.runGenerator`, `PathsService.resolveGenerationPath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:330` |
343
- | `bootstrapPlugin` | 9 | `resolveGeneratorService`, `resolveOptionsService`, `resolveProjectsService`, `GeneratorService.emitPlugin`, `OptionsService.resolveConfigurationPath`, `readNxConfiguration`, `ProjectsService.listWorkspaceProjects`, `writePlugin`, `linkPlugin` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:39` |
344
- | `syncGenerator` | 7 | `resolveGeneratorService`, `resolveOptionsService`, `resolveProjectsService`, `GeneratorService.emitPlugin`, `OptionsService.resolveConfigurationPath`, `readNxConfiguration`, `ProjectsService.listWorkspaceProjects` | `packages/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:26` |
342
+ | `PluginService.runGenerator` | 9 | `PluginService.resolveOptions`, `PluginService.assertPluginInSync`, `ConfigurationService.loadConformetryConfiguration`, `PluginService.find(…)`, `PluginService.map(…)`, `AdapterService.createAdapters`, `OptionsService.resolveGeneratorInputs`, `GenerationService.runGenerator`, `PathsService.resolveGenerationPath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:330` |
343
+ | `bootstrapPlugin` | 9 | `resolveGeneratorService`, `resolveOptionsService`, `resolveProjectsService`, `GeneratorService.emitPlugin`, `OptionsService.resolveConfigurationPath`, `readNxConfiguration`, `ProjectsService.listWorkspaceProjects`, `writePlugin`, `linkPlugin` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:39` |
344
+ | `syncGenerator` | 7 | `resolveGeneratorService`, `resolveOptionsService`, `resolveProjectsService`, `GeneratorService.emitPlugin`, `OptionsService.resolveConfigurationPath`, `readNxConfiguration`, `ProjectsService.listWorkspaceProjects` | `projects/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:26` |
345
345
 
346
346
  <details>
347
347
  <summary>55 more callables</summary>
348
348
 
349
349
  | Callable | Breadth | Calls directly | Location |
350
350
  | --- | --- | --- | --- |
351
- | `GeneratorService.emitPlugin` | 6 | `ConfigurationService.loadConformetryConfiguration`, `GeneratorService.toSorted(…)`, `GeneratorService.buildGeneratorsManifest`, `GeneratorService.map(…)`, `GeneratorService.map(…)`, `GeneratorService.stringify` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212` |
352
- | `InstancesService.findProjectInstances` | 6 | `ConfigurationService.loadConformetryConfiguration`, `InstancesService.filter(…)`, `InstancesService.flatMap(…)`, `InstancesService.flatMap(…)`, `InstancesService.flatMap(…)`, `InstancesService.filter(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:68` |
353
- | `PluginService.runValidation` | 6 | `PluginService.resolveOptions`, `PluginService.assertPluginInSync`, `ValidationService.validate`, `InstancesService.findProjectInstances`, `PluginService.resolveTemplates`, `ReportingService.formatReport` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:391` |
354
- | `PathsService.resolveGenerationPath` | 5 | `PathsService.resolveNewProjectPath`, `InstancesService.findProjectInstances`, `PathsService.requireModulePath`, `PathsService.resolveScopedDirectory`, `PathsService.resolveModuleParentPath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:221` |
355
- | `PluginService.inferTargets` | 5 | `PluginService.resolveOptions`, `PluginService.resolveTemplateInputs`, `PluginService.filter(…)`, `ProjectsService.readProjectScope`, `InstancesService.findProjectInstances` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:265` |
356
- | `ScopeService.resolveScopedProjectNames` | 4 | `ScopeService.filter(…)`, `ScopeService.toSorted(…)`, `ScopeService.map(…)`, `ScopeService.filter(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135` |
357
- | `ProjectsService.listWorkspaceProjects` | 4 | `ProjectsService.toSorted(…)`, `ProjectsService.map(…)`, `ProjectsService.listProjectConfigurationFiles`, `ProjectsService.readIgnoredPaths` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:118` |
358
- | `anonymous` | 4 | `resolvePluginService`, `PluginService.inferTargets`, `filter(…)`, `map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/index.ts:49` |
359
- | `ScopeService.resolveGroup` | 3 | `ScopeService.matchesProject`, `ScopeService.isProjectGroup`, `ScopeService.map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:75` |
360
- | `AdapterService.listDirectory` | 3 | `AdapterService.resolveTreePath`, `AdapterService.map(…)`, `AdapterService.map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42` |
361
- | `PathsService.resolveScopedDirectory` | 3 | `ConfigurationService.loadConformetryConfiguration`, `PathsService.find(…)`, `ScopeService.resolveScopedDirectory` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:167` |
362
- | `PluginService.resolveOptions` | 3 | `OptionsService.resolveConfigurationPath`, `PluginService.readNxConfiguration`, `OptionsService.resolvePluginOptions` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:189` |
363
- | `PluginService.resolveTemplateInputs` | 3 | `ConfigurationService.loadConformetryConfiguration`, `PluginService.map(…)`, `PluginService.map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:219` |
364
- | `ScopeService.matchesProject` | 2 | `ScopeService.isProjectGroup`, `ScopeService.every(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53` |
365
- | `ScopeService.resolveScopedDirectory` | 2 | `ScopeService.find(…)`, `ScopeService.findIndex(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:109` |
366
- | `GeneratorService.buildSchema` | 2 | `GeneratorService.stringify`, `GeneratorService.buildSchemaProperties` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:122` |
367
- | `GeneratorService.map(…)` | 2 | `GeneratorService.buildSchema`, `GeneratorService.resolveScopedProjectNames` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238` |
368
- | `OptionsService.readRegisteredConfigurationPath` | 2 | `OptionsService.isUnknownArray`, `OptionsService.readString` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:38` |
369
- | `OptionsService.resolveConfigurationPath` | 2 | `OptionsService.readRegisteredConfigurationPath`, `OptionsService.find(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:98` |
370
- | `PathsService.resolveNewProjectPath` | 2 | `missingDirectoryError`, `PathsService.resolveTypeDirectoryPath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:140` |
371
- | `ProjectsService.readIgnoredPaths` | 2 | `ProjectsService.filter(…)`, `ProjectsService.map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:97` |
372
- | `ProjectsService.readProjectScope` | 2 | `ProjectsService.isUnknownArray`, `ProjectsService.filter(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:134` |
373
- | `PluginService.assertEmittedPluginCurrent` | 2 | `GeneratorService.emitPlugin`, `ProjectsService.listWorkspaceProjects` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:84` |
374
- | `PluginService.assertPluginInSync` | 2 | `PluginService.assertTemplatesExist`, `PluginService.assertEmittedPluginCurrent` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:118` |
375
- | `PluginService.resolveTemplates` | 2 | `ConfigurationService.loadConformetryConfiguration`, `PluginService.map(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:236` |
376
- | `runConformetryGenerator` | 2 | `resolvePluginService`, `PluginService.runGenerator` | `packages/ic-suite/conformetry/conformetry-nx/src/index.ts:93` |
377
- | `validateExecutor` | 2 | `resolvePluginService`, `PluginService.runValidation` | `packages/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16` |
378
- | `ScopeService.isProjectGroup` | 1 | `ConfigurationService.isProjectScoped` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39` |
379
- | `ScopeService.find(…)` | 1 | `ScopeService.isProjectGroup` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:112` |
380
- | `ScopeService.filter(…)` | 1 | `ScopeService.isProjectGroup` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:139` |
381
- | `ScopeService.filter(…)` | 1 | `ScopeService.some(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148` |
382
- | `ScopeService.some(…)` | 1 | `ScopeService.matchesProject` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149` |
383
- | `GeneratorService.buildGeneratorsManifest` | 1 | `GeneratorService.stringify` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:86` |
384
- | `GeneratorService.resolveScopedProjectNames` | 1 | `ScopeService.resolveScopedProjectNames` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180` |
385
- | `GeneratorService.map(…)` | 1 | `GeneratorService.buildGeneratorModule` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:229` |
386
- | `AdapterService.readFile` | 1 | `AdapterService.resolveTreePath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68` |
387
- | `AdapterService.listDirectory` | 1 | `AdapterService.listDirectory` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114` |
388
- | `AdapterService.readFile` | 1 | `AdapterService.readFile` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124` |
389
- | `AdapterService.writeFile` | 1 | `AdapterService.resolveTreePath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131` |
390
- | `InstancesService.flatMap(…)` | 1 | `ScopeService.resolveGroup` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:79` |
391
- | `InstancesService.flatMap(…)` | 1 | `ConfigurationService.findInstances` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84` |
392
- | `InstancesService.filter(…)` | 1 | `InstancesService.isInsideProject` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:97` |
393
- | `OptionsService.resolvePluginOptions` | 1 | `OptionsService.readString` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:147` |
394
- | `PathsService.requireModulePath` | 1 | `PathsService.resolveModulePath` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:57` |
395
- | `PathsService.resolveModuleParentPath` | 1 | `PathsService.toSorted(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:86` |
396
- | `PathsService.resolveModulePath` | 1 | `PathsService.find(…)` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:118` |
397
- | `ProjectsService.map(…)` | 1 | `ProjectsService.readProjectScope` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:124` |
398
- | `PluginService.assertTemplatesExist` | 1 | `ConfigurationService.loadConformetryConfiguration` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:134` |
399
- | `PluginService.map(…)` | 1 | `ConfigurationService.collectTemplate` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:245` |
400
- | `resolveGeneratorService` | 1 | `resolvePluginContext` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:18` |
401
- | `resolveOptionsService` | 1 | `resolvePluginContext` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:25` |
402
- | `resolvePluginService` | 1 | `resolvePluginContext` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:32` |
403
- | `resolveProjectsService` | 1 | `resolvePluginContext` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:39` |
404
- | `runBootstrapCli` | 1 | `bootstrapPlugin` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:74` |
405
- | `linkPlugin` | 1 | `leadsTo` | `packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:116` |
351
+ | `GeneratorService.emitPlugin` | 6 | `ConfigurationService.loadConformetryConfiguration`, `GeneratorService.toSorted(…)`, `GeneratorService.buildGeneratorsManifest`, `GeneratorService.map(…)`, `GeneratorService.map(…)`, `GeneratorService.stringify` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212` |
352
+ | `InstancesService.findProjectInstances` | 6 | `ConfigurationService.loadConformetryConfiguration`, `InstancesService.filter(…)`, `InstancesService.flatMap(…)`, `InstancesService.flatMap(…)`, `InstancesService.flatMap(…)`, `InstancesService.filter(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:68` |
353
+ | `PluginService.runValidation` | 6 | `PluginService.resolveOptions`, `PluginService.assertPluginInSync`, `ValidationService.validate`, `InstancesService.findProjectInstances`, `PluginService.resolveTemplates`, `ReportingService.formatReport` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:391` |
354
+ | `PathsService.resolveGenerationPath` | 5 | `PathsService.resolveNewProjectPath`, `InstancesService.findProjectInstances`, `PathsService.requireModulePath`, `PathsService.resolveScopedDirectory`, `PathsService.resolveModuleParentPath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:221` |
355
+ | `PluginService.inferTargets` | 5 | `PluginService.resolveOptions`, `PluginService.resolveTemplateInputs`, `PluginService.filter(…)`, `ProjectsService.readProjectScope`, `InstancesService.findProjectInstances` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:265` |
356
+ | `ScopeService.resolveScopedProjectNames` | 4 | `ScopeService.filter(…)`, `ScopeService.toSorted(…)`, `ScopeService.map(…)`, `ScopeService.filter(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135` |
357
+ | `ProjectsService.listWorkspaceProjects` | 4 | `ProjectsService.toSorted(…)`, `ProjectsService.map(…)`, `ProjectsService.listProjectConfigurationFiles`, `ProjectsService.readIgnoredPaths` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:118` |
358
+ | `anonymous` | 4 | `resolvePluginService`, `PluginService.inferTargets`, `filter(…)`, `map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/index.ts:49` |
359
+ | `ScopeService.resolveGroup` | 3 | `ScopeService.matchesProject`, `ScopeService.isProjectGroup`, `ScopeService.map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:75` |
360
+ | `AdapterService.listDirectory` | 3 | `AdapterService.resolveTreePath`, `AdapterService.map(…)`, `AdapterService.map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42` |
361
+ | `PathsService.resolveScopedDirectory` | 3 | `ConfigurationService.loadConformetryConfiguration`, `PathsService.find(…)`, `ScopeService.resolveScopedDirectory` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:167` |
362
+ | `PluginService.resolveOptions` | 3 | `OptionsService.resolveConfigurationPath`, `PluginService.readNxConfiguration`, `OptionsService.resolvePluginOptions` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:189` |
363
+ | `PluginService.resolveTemplateInputs` | 3 | `ConfigurationService.loadConformetryConfiguration`, `PluginService.map(…)`, `PluginService.map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:219` |
364
+ | `ScopeService.matchesProject` | 2 | `ScopeService.isProjectGroup`, `ScopeService.every(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53` |
365
+ | `ScopeService.resolveScopedDirectory` | 2 | `ScopeService.find(…)`, `ScopeService.findIndex(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:109` |
366
+ | `GeneratorService.buildSchema` | 2 | `GeneratorService.stringify`, `GeneratorService.buildSchemaProperties` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:122` |
367
+ | `GeneratorService.map(…)` | 2 | `GeneratorService.buildSchema`, `GeneratorService.resolveScopedProjectNames` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238` |
368
+ | `OptionsService.readRegisteredConfigurationPath` | 2 | `OptionsService.isUnknownArray`, `OptionsService.readString` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:38` |
369
+ | `OptionsService.resolveConfigurationPath` | 2 | `OptionsService.readRegisteredConfigurationPath`, `OptionsService.find(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:98` |
370
+ | `PathsService.resolveNewProjectPath` | 2 | `missingDirectoryError`, `PathsService.resolveTypeDirectoryPath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:140` |
371
+ | `ProjectsService.readIgnoredPaths` | 2 | `ProjectsService.filter(…)`, `ProjectsService.map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:97` |
372
+ | `ProjectsService.readProjectScope` | 2 | `ProjectsService.isUnknownArray`, `ProjectsService.filter(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:134` |
373
+ | `PluginService.assertEmittedPluginCurrent` | 2 | `GeneratorService.emitPlugin`, `ProjectsService.listWorkspaceProjects` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:84` |
374
+ | `PluginService.assertPluginInSync` | 2 | `PluginService.assertTemplatesExist`, `PluginService.assertEmittedPluginCurrent` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:118` |
375
+ | `PluginService.resolveTemplates` | 2 | `ConfigurationService.loadConformetryConfiguration`, `PluginService.map(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:236` |
376
+ | `runConformetryGenerator` | 2 | `resolvePluginService`, `PluginService.runGenerator` | `projects/ic-suite/conformetry/conformetry-nx/src/index.ts:93` |
377
+ | `validateExecutor` | 2 | `resolvePluginService`, `PluginService.runValidation` | `projects/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16` |
378
+ | `ScopeService.isProjectGroup` | 1 | `ConfigurationService.isProjectScoped` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39` |
379
+ | `ScopeService.find(…)` | 1 | `ScopeService.isProjectGroup` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:112` |
380
+ | `ScopeService.filter(…)` | 1 | `ScopeService.isProjectGroup` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:139` |
381
+ | `ScopeService.filter(…)` | 1 | `ScopeService.some(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148` |
382
+ | `ScopeService.some(…)` | 1 | `ScopeService.matchesProject` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149` |
383
+ | `GeneratorService.buildGeneratorsManifest` | 1 | `GeneratorService.stringify` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:86` |
384
+ | `GeneratorService.resolveScopedProjectNames` | 1 | `ScopeService.resolveScopedProjectNames` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180` |
385
+ | `GeneratorService.map(…)` | 1 | `GeneratorService.buildGeneratorModule` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:229` |
386
+ | `AdapterService.readFile` | 1 | `AdapterService.resolveTreePath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68` |
387
+ | `AdapterService.listDirectory` | 1 | `AdapterService.listDirectory` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114` |
388
+ | `AdapterService.readFile` | 1 | `AdapterService.readFile` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124` |
389
+ | `AdapterService.writeFile` | 1 | `AdapterService.resolveTreePath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131` |
390
+ | `InstancesService.flatMap(…)` | 1 | `ScopeService.resolveGroup` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:79` |
391
+ | `InstancesService.flatMap(…)` | 1 | `ConfigurationService.findInstances` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84` |
392
+ | `InstancesService.filter(…)` | 1 | `InstancesService.isInsideProject` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:97` |
393
+ | `OptionsService.resolvePluginOptions` | 1 | `OptionsService.readString` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:147` |
394
+ | `PathsService.requireModulePath` | 1 | `PathsService.resolveModulePath` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:57` |
395
+ | `PathsService.resolveModuleParentPath` | 1 | `PathsService.toSorted(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:86` |
396
+ | `PathsService.resolveModulePath` | 1 | `PathsService.find(…)` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:118` |
397
+ | `ProjectsService.map(…)` | 1 | `ProjectsService.readProjectScope` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:124` |
398
+ | `PluginService.assertTemplatesExist` | 1 | `ConfigurationService.loadConformetryConfiguration` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:134` |
399
+ | `PluginService.map(…)` | 1 | `ConfigurationService.collectTemplate` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:245` |
400
+ | `resolveGeneratorService` | 1 | `resolvePluginContext` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:18` |
401
+ | `resolveOptionsService` | 1 | `resolvePluginContext` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:25` |
402
+ | `resolvePluginService` | 1 | `resolvePluginContext` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:32` |
403
+ | `resolveProjectsService` | 1 | `resolvePluginContext` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:39` |
404
+ | `runBootstrapCli` | 1 | `bootstrapPlugin` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:74` |
405
+ | `linkPlugin` | 1 | `leadsTo` | `projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:116` |
406
406
 
407
407
  </details>
408
408
  <!-- callidescope:end -->
409
409
 
410
410
  ## 🕸️ Codependix
411
411
 
412
- 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`.
412
+ Dependency graphs exported by [codependix](https://github.com/Organizzolini/codebase/tree/main/projects/ic-suite/codependix/codependix-cli), regenerated by `nx run codebase:codependix:write`.
413
413
 
414
414
  ### Nx Neighborhood
415
415
 
@@ -591,6 +591,7 @@ graph LR
591
591
  file_src_modules_scope_scope_service_ts["src/modules/scope/scope.service.ts"]
592
592
  file_src_modules_scope_scope_service_unit_test_ts["src/modules/scope/scope.service.unit.test.ts"]
593
593
  file_src_modules_scope_scope_types_ts["src/modules/scope/scope.types.ts"]
594
+ file_testing_manifest_unit_test_ts["testing/manifest.unit.test.ts"]
594
595
  file_testing_mocks_ts["testing/mocks.ts"]
595
596
  file_testing_setup_ts["testing/setup.ts"]
596
597
  file_vite_config_ts["vite.config.ts"]
@@ -716,40 +717,40 @@ graph LR
716
717
 
717
718
  ### Project
718
719
 
719
- ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-5960-22c55e?style=flat-square)
720
- ![Repository Size](https://img.shields.io/badge/Repository_Size-211.11_kB-6b7280?style=flat-square)
720
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-6143-22c55e?style=flat-square)
721
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-217.82_kB-6b7280?style=flat-square)
721
722
  ![Folders](https://img.shields.io/badge/Folders-15-4a4a4a?style=flat-square)
722
- ![Source Files](https://img.shields.io/badge/Source_Files-64-3178c6?style=flat-square)
723
+ ![Source Files](https://img.shields.io/badge/Source_Files-65-3178c6?style=flat-square)
723
724
 
724
725
  ### Measured Targets
725
726
 
726
- ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-10.82_kB_gzip-6b7280?style=flat-square)
727
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-10.81_kB_gzip-6b7280?style=flat-square)
727
728
 
728
729
  ### TypeScript
729
730
 
730
- ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-63-3178c6?style=flat-square)
731
+ ![TypeScript Files](https://img.shields.io/badge/TypeScript_Files-64-3178c6?style=flat-square)
731
732
  ![Interfaces](https://img.shields.io/badge/Interfaces-20-0ea5e9?style=flat-square)
732
733
  ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-0-0369a1?style=flat-square)
733
734
  ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
734
735
  ![Decorators](https://img.shields.io/badge/Decorators-17-db2777?style=flat-square)
735
- ![Doc Comments](https://img.shields.io/badge/Doc_Comments-142-6366f1?style=flat-square)
736
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-147-6366f1?style=flat-square)
736
737
  ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
737
738
 
738
739
  ### JavaScript
739
740
 
740
741
  ![JavaScript Files](https://img.shields.io/badge/JavaScript_Files-1-f7df1e?style=flat-square)
741
- ![Test Files](https://img.shields.io/badge/Test_Files-14-10b981?style=flat-square)
742
+ ![Test Files](https://img.shields.io/badge/Test_Files-15-10b981?style=flat-square)
742
743
  ![External Packages](https://img.shields.io/badge/External_Packages-18-8b5cf6?style=flat-square)
743
744
  ![Classes](https://img.shields.io/badge/Classes-17-7c3aed?style=flat-square)
744
- ![Functions](https://img.shields.io/badge/Functions-264-16a34a?style=flat-square)
745
+ ![Functions](https://img.shields.io/badge/Functions-276-16a34a?style=flat-square)
745
746
  ![Methods](https://img.shields.io/badge/Methods-86-15803d?style=flat-square)
746
- ![Sync Functions](https://img.shields.io/badge/Sync_Functions-210-4ade80?style=flat-square)
747
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-222-4ade80?style=flat-square)
747
748
  ![Async Functions](https://img.shields.io/badge/Async_Functions-140-059669?style=flat-square)
748
- ![Constants](https://img.shields.io/badge/Constants-265-dc2626?style=flat-square)
749
- ![Imports](https://img.shields.io/badge/Imports-262-0284c7?style=flat-square)
749
+ ![Constants](https://img.shields.io/badge/Constants-279-dc2626?style=flat-square)
750
+ ![Imports](https://img.shields.io/badge/Imports-266-0284c7?style=flat-square)
750
751
  ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-76-ea580c?style=flat-square)
751
- ![Comments](https://img.shields.io/badge/Comments-334-64748b?style=flat-square)
752
- ![Comment Lines](https://img.shields.io/badge/Comment_Lines-729-475569?style=flat-square)
752
+ ![Comments](https://img.shields.io/badge/Comments-339-64748b?style=flat-square)
753
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-734-475569?style=flat-square)
753
754
  ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)
754
755
 
755
756
  ### Python
@@ -770,16 +771,16 @@ graph LR
770
771
  ### JSON
771
772
 
772
773
  ![JSON Files](https://img.shields.io/badge/JSON_Files-8-a16207?style=flat-square)
773
- ![JSON Lines](https://img.shields.io/badge/JSON_Lines-262-ca8a04?style=flat-square)
774
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-264-ca8a04?style=flat-square)
774
775
  ![JSON Objects](https://img.shields.io/badge/JSON_Objects-59-7c3aed?style=flat-square)
775
776
  ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-15-8b5cf6?style=flat-square)
776
777
  ![JSON Properties](https://img.shields.io/badge/JSON_Properties-173-0284c7?style=flat-square)
777
- ![JSON Strings](https://img.shields.io/badge/JSON_Strings-143-16a34a?style=flat-square)
778
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-145-16a34a?style=flat-square)
778
779
  ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-3-059669?style=flat-square)
779
780
  ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-7-0ea5e9?style=flat-square)
780
781
  ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
781
- ![JSON Items](https://img.shields.io/badge/JSON_Items-46-475569?style=flat-square)
782
- ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-227-dc2626?style=flat-square)
782
+ ![JSON Items](https://img.shields.io/badge/JSON_Items-48-475569?style=flat-square)
783
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-229-dc2626?style=flat-square)
783
784
  ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-5-ea580c?style=flat-square)
784
785
 
785
786
  ### YAML
@@ -867,7 +868,7 @@ graph LR
867
868
  ![Types Files](https://img.shields.io/badge/Types_Files-10-db2777?style=flat-square)
868
869
  ![Utilities Files](https://img.shields.io/badge/Utilities_Files-2-0ea5e9?style=flat-square)
869
870
  ![TypeORM Entities](https://img.shields.io/badge/TypeORM_Entities-0-059669?style=flat-square)
870
- ![Unit Tests](https://img.shields.io/badge/Unit_Tests-14-ca8a04?style=flat-square)
871
+ ![Unit Tests](https://img.shields.io/badge/Unit_Tests-15-ca8a04?style=flat-square)
871
872
  ![Integration Tests](https://img.shields.io/badge/Integration_Tests-0-7c3aed?style=flat-square)
872
873
  ![End To End Tests](https://img.shields.io/badge/End_To_End_Tests-0-0284c7?style=flat-square)
873
874
  ![CSS Comment Budget](https://img.shields.io/badge/CSS_Comment_Budget-0-16a34a?style=flat-square)
@@ -905,20 +906,20 @@ graph LR
905
906
  ### Markdown
906
907
 
907
908
  ![Markdown Files](https://img.shields.io/badge/Markdown_Files-2-083fa1?style=flat-square)
908
- ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-342-1f6feb?style=flat-square)
909
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-368-1f6feb?style=flat-square)
909
910
  ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
910
- ![H2](https://img.shields.io/badge/H2-19-8b5cf6?style=flat-square)
911
- ![H3](https://img.shields.io/badge/H3-27-a78bfa?style=flat-square)
911
+ ![H2](https://img.shields.io/badge/H2-21-8b5cf6?style=flat-square)
912
+ ![H3](https://img.shields.io/badge/H3-31-a78bfa?style=flat-square)
912
913
  ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
913
914
  ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
914
915
  ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
915
- ![Paragraphs](https://img.shields.io/badge/Paragraphs-97-64748b?style=flat-square)
916
- ![Lists](https://img.shields.io/badge/Lists-21-16a34a?style=flat-square)
917
- ![List Items](https://img.shields.io/badge/List_Items-77-22c55e?style=flat-square)
916
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-107-64748b?style=flat-square)
917
+ ![Lists](https://img.shields.io/badge/Lists-25-16a34a?style=flat-square)
918
+ ![List Items](https://img.shields.io/badge/List_Items-87-22c55e?style=flat-square)
918
919
  ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
919
920
  ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
920
921
  ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
921
- ![Links](https://img.shields.io/badge/Links-13-059669?style=flat-square)
922
+ ![Links](https://img.shields.io/badge/Links-16-059669?style=flat-square)
922
923
  ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
923
924
  ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
924
925
  ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
@@ -1,7 +1,7 @@
1
- import { _ as e, d as t, g as n, i as r, n as i, t as a } from "./plugin-context.utilities-CD8WxvsG.js";
1
+ import { _ as e, d as t, g as n, i as r, n as i, t as a } from "./plugin-context.utilities-BHfGQv2V.js";
2
2
  import { existsSync as o, lstatSync as s, mkdirSync as c, readFileSync as l, realpathSync as u, rmSync as d, symlinkSync as f, writeFileSync as p } from "node:fs";
3
3
  import m from "node:path";
4
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts
4
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts
5
5
  async function bootstrapPlugin(t) {
6
6
  let s = await a(), c = await i(), l = await r(), u = await s.emitPlugin({
7
7
  configurationPath: c.resolveConfigurationPath({
@@ -56,7 +56,7 @@ function __decorate(e, t, n, r) {
56
56
  return i > 3 && a && Object.defineProperty(t, n, a), a;
57
57
  }
58
58
  //#endregion
59
- //#region packages/logging/src/modules/logger/logger.service.ts
59
+ //#region projects/logging/src/modules/logger/logger.service.ts
60
60
  var C, w = class LoggerService extends t {
61
61
  static {
62
62
  C = this;
@@ -191,7 +191,7 @@ var C, w = class LoggerService extends t {
191
191
  };
192
192
  w = C = __decorate([r({ scope: a.TRANSIENT }), __decorateMetadata("design:paramtypes", [])], w);
193
193
  //#endregion
194
- //#region packages/logging/src/modules/logger/logger.module.ts
194
+ //#region projects/logging/src/modules/logger/logger.module.ts
195
195
  var T = class LoggerModule {};
196
196
  T = __decorate([n(), i({
197
197
  controllers: [],
@@ -200,7 +200,7 @@ T = __decorate([n(), i({
200
200
  providers: [w]
201
201
  })], T);
202
202
  //#endregion
203
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts
203
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts
204
204
  var E = class ScopeService {
205
205
  configurationService;
206
206
  constructor(e) {
@@ -235,7 +235,7 @@ var E = class ScopeService {
235
235
  };
236
236
  E = __decorate([r(), __decorateMetadata("design:paramtypes", [m === void 0 ? Object : m])], E);
237
237
  //#endregion
238
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.module.ts
238
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.module.ts
239
239
  var D = class ScopeModule {};
240
240
  D = __decorate([i({
241
241
  controllers: [],
@@ -244,7 +244,7 @@ D = __decorate([i({
244
244
  providers: [E]
245
245
  })], D);
246
246
  //#endregion
247
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.constants.ts
247
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.constants.ts
248
248
  var O = "project", k = "module", se = "type", A = "directory", j = ".conformetry/nx-generators", ce = "// Generated from the conformetry configuration. Do not edit.", le = "The conformetry generator plugin is out of sync with the conformetry configuration.", M = "conformetry", ue = "node_modules/@nx/devkit/src/generators/generators-schema.json", N = class GeneratorService {
249
249
  configurationService;
250
250
  scopeService;
@@ -367,7 +367,7 @@ var O = "project", k = "module", se = "type", A = "directory", j = ".conformetry
367
367
  };
368
368
  N = __decorate([r(), __decorateMetadata("design:paramtypes", [m === void 0 ? Object : m, E === void 0 ? Object : E])], N);
369
369
  //#endregion
370
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.module.ts
370
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.module.ts
371
371
  var P = class GeneratorModule {};
372
372
  P = __decorate([i({
373
373
  controllers: [],
@@ -380,7 +380,7 @@ P = __decorate([i({
380
380
  providers: [N]
381
381
  })], P);
382
382
  //#endregion
383
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.constants.ts
383
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.constants.ts
384
384
  var de = "utf8", F = class AdapterService {
385
385
  constructor() {}
386
386
  async listDirectory(e) {
@@ -436,7 +436,7 @@ var de = "utf8", F = class AdapterService {
436
436
  };
437
437
  F = __decorate([r(), __decorateMetadata("design:paramtypes", [])], F);
438
438
  //#endregion
439
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.module.ts
439
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.module.ts
440
440
  var I = class AdapterModule {};
441
441
  I = __decorate([i({
442
442
  controllers: [],
@@ -445,7 +445,7 @@ I = __decorate([i({
445
445
  providers: [F]
446
446
  })], I);
447
447
  //#endregion
448
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts
448
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts
449
449
  var L = class InstancesService {
450
450
  configurationService;
451
451
  scopeService;
@@ -482,7 +482,7 @@ var L = class InstancesService {
482
482
  };
483
483
  L = __decorate([r(), __decorateMetadata("design:paramtypes", [m === void 0 ? Object : m, E === void 0 ? Object : E])], L);
484
484
  //#endregion
485
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.module.ts
485
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.module.ts
486
486
  var R = class InstancesModule {};
487
487
  R = __decorate([i({
488
488
  controllers: [],
@@ -491,7 +491,7 @@ R = __decorate([i({
491
491
  providers: [L]
492
492
  })], R);
493
493
  //#endregion
494
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/options/options.constants.ts
494
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.constants.ts
495
495
  var z = "@conformetry/nx", B = [
496
496
  "conformetry.config.ts",
497
497
  "conformetry.config.mts",
@@ -559,7 +559,7 @@ var z = "@conformetry/nx", B = [
559
559
  };
560
560
  H = __decorate([r(), __decorateMetadata("design:paramtypes", [])], H);
561
561
  //#endregion
562
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/options/options.module.ts
562
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.module.ts
563
563
  var U = class OptionsModule {};
564
564
  U = __decorate([i({
565
565
  controllers: [],
@@ -568,7 +568,7 @@ U = __decorate([i({
568
568
  providers: [H]
569
569
  })], U);
570
570
  //#endregion
571
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts
571
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts
572
572
  var W = class PathsService {
573
573
  instancesService;
574
574
  configurationService;
@@ -657,7 +657,7 @@ W = __decorate([r(), __decorateMetadata("design:paramtypes", [
657
657
  E === void 0 ? Object : E
658
658
  ])], W);
659
659
  //#endregion
660
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.module.ts
660
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.module.ts
661
661
  var G = class PathsModule {};
662
662
  G = __decorate([i({
663
663
  controllers: [],
@@ -716,7 +716,7 @@ var me = ".nxignore", K = class ProjectsService {
716
716
  };
717
717
  K = __decorate([r(), __decorateMetadata("design:paramtypes", [])], K);
718
718
  //#endregion
719
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.module.ts
719
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.module.ts
720
720
  var q = class ProjectsModule {};
721
721
  q = __decorate([i({
722
722
  controllers: [],
@@ -725,7 +725,7 @@ q = __decorate([i({
725
725
  providers: [K]
726
726
  })], q);
727
727
  //#endregion
728
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.constants.ts
728
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.constants.ts
729
729
  var J = "**/{project.json,conformetry.config.*}", he = "project.json", Y = "__conformetryPluginContext", X, Z = X = class PluginService {
730
730
  adapterService;
731
731
  instancesService;
@@ -900,7 +900,7 @@ Z = X = __decorate([r(), __decorateMetadata("design:paramtypes", [
900
900
  w === void 0 ? Object : w
901
901
  ])], Z);
902
902
  //#endregion
903
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.module.ts
903
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.module.ts
904
904
  var Q = class PluginModule {};
905
905
  Q = __decorate([i({
906
906
  controllers: [],
@@ -936,7 +936,7 @@ Q = __decorate([i({
936
936
  providers: [Z]
937
937
  })], Q);
938
938
  //#endregion
939
- //#region packages/ic-suite/conformetry/conformetry-nx/src/main.module.ts
939
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/main.module.ts
940
940
  var $ = class MainModule {};
941
941
  $ = __decorate([i({
942
942
  controllers: [],
@@ -949,7 +949,7 @@ $ = __decorate([i({
949
949
  providers: []
950
950
  })], $);
951
951
  //#endregion
952
- //#region packages/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts
952
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts
953
953
  async function resolveGeneratorService() {
954
954
  return (await resolvePluginContext()).get(N);
955
955
  }
@@ -1,5 +1,5 @@
1
- import { r as e } from "../../../plugin-context.utilities-CD8WxvsG.js";
2
- //#region packages/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts
1
+ import { r as e } from "../../../plugin-context.utilities-BHfGQv2V.js";
2
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts
3
3
  async function validateExecutor(t, n) {
4
4
  let r = n.projectName;
5
5
  if (r === void 0) throw Error("The conformetry validate executor must be run against a project.");
@@ -1,5 +1,5 @@
1
- import { d as e, i as t, n, t as r, v as i } from "../../../plugin-context.utilities-CD8WxvsG.js";
2
- //#region packages/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts
1
+ import { d as e, i as t, n, t as r, v as i } from "../../../plugin-context.utilities-BHfGQv2V.js";
2
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts
3
3
  async function syncGenerator(e, a) {
4
4
  let o = await r(), s = await n(), c = await t(), l = await o.emitPlugin({
5
5
  configurationPath: a?.configurationPath ?? s.resolveConfigurationPath({
package/dist/src/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { a as e, b as t, c as n, f as r, h as i, l as a, m as o, o as s, p as c, r as l, s as u, u as d, y as f } from "../plugin-context.utilities-CD8WxvsG.js";
2
- import { n as p, t as m } from "../bootstrap.utilities-DgzSGazo.js";
1
+ import { a as e, b as t, c as n, f as r, h as i, l as a, m as o, o as s, p as c, r as l, s as u, u as d, y as f } from "../plugin-context.utilities-BHfGQv2V.js";
2
+ import { n as p, t as m } from "../bootstrap.utilities-BImMIPHz.js";
3
3
  import h from "node:path";
4
- //#region packages/ic-suite/conformetry/conformetry-nx/src/index.ts
4
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/index.ts
5
5
  var g = {
6
6
  createNodes: [n, async (e, t, n) => {
7
7
  let r = await (await l()).inferTargets({
package/dist/src/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as e } from "../bootstrap.utilities-DgzSGazo.js";
3
- //#region packages/ic-suite/conformetry/conformetry-nx/src/main.ts
2
+ import { n as e } from "../bootstrap.utilities-BImMIPHz.js";
3
+ //#region projects/ic-suite/conformetry/conformetry-nx/src/main.ts
4
4
  e(process.cwd());
5
5
  //#endregion
package/executors.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "executors": {
4
4
  "validate": {
5
5
  "description": "Validate a project's conformetry instances against their templates.",
6
- "implementation": "./src/executors/validate/executor",
6
+ "implementation": "@conformetry/nx/src/executors/validate/executor",
7
7
  "schema": "./src/executors/validate/schema.json"
8
8
  }
9
9
  }
package/generators.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "generators": {
4
4
  "sync": {
5
5
  "description": "Regenerate the workspace's conformetry generator plugin from the conformetry configuration.",
6
- "factory": "./src/generators/sync/generator",
6
+ "factory": "@conformetry/nx/src/generators/sync/generator",
7
7
  "schema": "./src/generators/sync/schema.json"
8
8
  }
9
9
  }
package/package.json CHANGED
@@ -7,10 +7,10 @@
7
7
  "url": "https://github.com/organizzolini/codebase/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@conformetry/configuration": "0.0.17",
11
- "@conformetry/generation": "0.0.17",
12
- "@conformetry/output": "0.0.16",
13
- "@conformetry/validation": "0.0.16",
10
+ "@conformetry/configuration": "0.0.19",
11
+ "@conformetry/generation": "0.0.19",
12
+ "@conformetry/output": "0.0.18",
13
+ "@conformetry/validation": "0.0.18",
14
14
  "@nestjs/common": "^11.1.21 || ^12.0.1",
15
15
  "@nestjs/core": "^11.1.21 || ^12.0.1",
16
16
  "@nx/devkit": "^23.0.0",
@@ -48,10 +48,12 @@
48
48
  "executors.json",
49
49
  "generators.json",
50
50
  "LICENSE",
51
- "README.md"
51
+ "README.md",
52
+ "src/executors/*/schema.json",
53
+ "src/generators/*/schema.json"
52
54
  ],
53
55
  "generators": "./generators.json",
54
- "homepage": "https://github.com/organizzolini/codebase/tree/main/packages/ic-suite/conformetry/conformetry-nx#readme",
56
+ "homepage": "https://github.com/organizzolini/codebase/tree/main/projects/ic-suite/conformetry/conformetry-nx#readme",
55
57
  "keywords": [
56
58
  "conformance",
57
59
  "conformetry",
@@ -72,7 +74,7 @@
72
74
  "registry": "https://registry.npmjs.org"
73
75
  },
74
76
  "repository": {
75
- "directory": "packages/ic-suite/conformetry/conformetry-nx",
77
+ "directory": "projects/ic-suite/conformetry/conformetry-nx",
76
78
  "type": "git",
77
79
  "url": "git+https://github.com/organizzolini/codebase.git"
78
80
  },
@@ -82,5 +84,5 @@
82
84
  "strict": true
83
85
  },
84
86
  "types": "./dist/src/index.d.ts",
85
- "version": "0.0.16"
87
+ "version": "0.0.18"
86
88
  }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "description": "Validate a project's conformetry instances against their templates.",
4
+ "properties": {
5
+ "configurationPath": {
6
+ "description": "Path to the conformetry configuration file, relative to the workspace root.",
7
+ "type": "string"
8
+ },
9
+ "languages": {
10
+ "description": "Language names to restrict the run to. Every language runs when omitted.",
11
+ "items": { "type": "string" },
12
+ "type": "array"
13
+ },
14
+ "threshold": {
15
+ "description": "Lowest conformance score an instance may have, from 0 to 1. Overridden by a generator's own threshold and by an instance group's.",
16
+ "maximum": 1,
17
+ "minimum": 0,
18
+ "type": "number"
19
+ }
20
+ },
21
+ "required": [],
22
+ "title": "Conformetry validate",
23
+ "type": "object"
24
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "description": "Regenerate the workspace's conformetry generator plugin from the conformetry configuration.",
4
+ "properties": {
5
+ "configurationPath": {
6
+ "description": "Path to the conformetry configuration file, relative to the workspace root.",
7
+ "type": "string"
8
+ },
9
+ "outputPath": {
10
+ "description": "Directory the generator plugin is emitted into.",
11
+ "type": "string"
12
+ },
13
+ "packageName": {
14
+ "description": "Package name the emitted plugin is addressed by in `nx g <name>:<generator>`.",
15
+ "type": "string"
16
+ }
17
+ },
18
+ "required": [],
19
+ "title": "Conformetry sync",
20
+ "type": "object"
21
+ }