@conformetry/nx
v0.0.36
Published
Nx plugin providing dynamic generator scaffolding and conformance verification targets for Conformetry
Maintainers
Readme
👔 Conformetry Nx
The Nx host for Conformetry.
Canonical documentation for command behavior, configuration, template syntax, scoring, and validators is in the
@conformetry/cli README.
This package adds two things the standalone CLI cannot offer: generators addressed by name through nx g,
and a cached validation target inferred onto every project that holds
instances.
npm install --save-dev @conformetry/nxSetup
Register the plugin in nx.json and wire the bootstrap into postinstall:
{
"plugins": [
{
"plugin": "@conformetry/nx",
"options": {
"configurationPath": "projects/configuration/conformetry.config.ts",
"validateTargetName": "conformetry-validate"
}
}
],
"sync": { "globalGenerators": ["@conformetry/nx:sync"] }
}{ "scripts": { "postinstall": "conformetry-nx-bootstrap-generators" } }The configurationPath option is required: no default file is assumed and
no filename is searched for. A plugin entry without it fails with a
ConfigurationPathRequiredError from @conformetry/configuration naming the
option, and so does the bootstrap, which reads it from nx.json. The executor
and the sync generator take the same path as a configuration option, which
wins over the registration when both are set.
Then type your configuration as ConformetryNxConfiguration rather than
ConformetryConfiguration, so instance groups are checked against what Nx can
actually resolve:
import { type ConformetryNxConfiguration } from "@conformetry/nx";The emitted plugin
Which generators a workspace has is a property of its conformetry
configuration, so the plugin exposing them is emitted rather than written.
conformetry-nx-bootstrap-generators derives it from your configuration,
writes it to .conformetry/nx-generators (gitignore that directory — it is a
build artifact), and links it into the root node_modules so
nx g conformetry:<generator> resolves. The link is what makes the plugin
addressable, since Nx resolves a generator's package prefix by requiring it by
name rather than by matching an Nx project.
| Default | Value |
| ------- | ----- |
| Output path | .conformetry/nx-generators |
| Package name | conformetry — so generators are nx g conformetry:<name> |
The bootstrap warns rather than exiting non-zero when the configuration cannot be read, so a configuration mid-edit never blocks an unrelated install. Drift is caught where it matters instead: every conformetry command compares the emitted plugin against the configuration and refuses to run against a stale one.
@conformetry/nx deliberately declares no generators of its own beyond sync.
nx g @conformetry/nx:anything resolves nothing by design — which generators
exist is a property of your configuration, not of this package.
sync runs both ways: nx sync and nx sync:check use it as the global sync
generator, and nx g @conformetry/nx:sync runs it directly, writing the
emitted plugin.
Generating
nx g conformetry:nestjs-service-module --name=billing --project=lexicoNx prompts for missing inputs from the generator's own schema and writes
through its virtual Tree, so --dry-run works and the workspace formatter
runs over the result.
Validating
The plugin infers a conformetry-validate target onto every project holding
instances, so validation is cached and participates in nx affected:
nx run <project>:conformetry-validate
nx run-many --target=conformetry-validate --all
nx affected --target=conformetry-validate --base=main| Executor option | Purpose |
| --------------- | ------- |
| configuration | Configuration file, workspace-root relative. Taken from the configurationPath plugin option in nx.json when omitted; one of the two is required |
| languages | Restrict the run to named validators; all run when omitted |
Tag-scoped instances
The Nx host reads an instance group's tags as project tags, and resolves that
group's globs inside each matching project — so where a generator belongs is
stated exactly once:
instances: [{ patterns: ["src/modules/*"], tags: ["framework:nestjs"] }];A project must carry every tag a group names, so a second tag narrows the
group further — tags: ["framework:nestjs", "language:graphql"] reaches only
NestJS projects that are also GraphQL.
The two group forms are told apart by tags alone. There is no second field
that could disagree with it: a separate scope that excluded a project the globs
reached narrowed validation silently, and validation cannot notice instances
it was never offered.
Omitting patterns selects the projects without locating anything in them,
which is what a template with no instances yet wants — nx g is still confined
to the projects the template suits.
Exports
runConformetryGenerator for generator wrappers, bootstrapPlugin and
runBootstrapCli for the bootstrap, the ConformetryNxConfiguration and
instance-group types, and the NestJS services behind them (PluginService,
AdapterService, InstancesService, ScopeService, OptionsService).
Test
nx run conformetry-nx:vitestLicense
MIT — see LICENSE.
👔 Conformetry
This project was generated from the nestjs-service-project conformetry template.
🔭 Callidescope
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.
| Measure | Value | | --- | --- | | Callables | 112 | | Files | 48 | | Calls traced | 141 | | Call stacks | 8 | | Deepest stack | 15 | | Stacks through recursion | 0 | | Unfollowable calls | 0 |
Limits
What this project is judged against, as declared in its own callidescope.config.ts.
| Limit | Value |
| --- | --- |
| maximumDepth | 15 |
| maximumBreadth | 9 |
Call stacks (depth)
1. validateExecutor — depth ≥ 15 · orphan-root
🚀 validateExecutor(…): Promise<{ success: boolean; }> [projects/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16]
↳ Validates one project's instances against their conformetry templates.
└─> PluginService.runValidation(args: RunValidationArguments): Promise<RunValidationResult> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:409]
↳ Validates one project's instances and renders the report.
└─> ValidationService.validate(args: RunValidationArguments): RunValidationResult [projects/ic-suite/conformetry/conformetry-validation/src/modules/validation/validation.service.ts:194]
↳ Validates every instance and returns the differences found.
└─> ConfigurationService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:264]
↳ Resolves every instance to the template, or templates, that explain it.
└─> InstanceDiscoveryService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:123]
↳ Resolves every instance to the template, or templates, that explain it.
└─> InstanceDiscoveryMatchingService.matchInstances(…): ResolvedInstances [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:118]
↳ Resolves every instance to the template — or templates — that explain it.
└─> InstanceDiscoveryMatchingService.matchTemplates(…): TemplateMatch[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-matching.service.ts:180]
↳ Weighs every template that shares at least one file with the instance, best-first.
└─> 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]
└─> TemplateDiscoveryService.countMatchingFiles(…): number [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:146]
↳ Counts how many of a template's files the instance path already has.
└─> TemplateDiscoveryService.filter(…)(templateFilePath: string): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:155]
└─> TemplateDiscoveryService.resolveInstanceFilePath(…): string [projects/ic-suite/conformetry/conformetry-configuration/src/modules/template-discovery/template-discovery.service.ts:204]
↳ Maps a template file path to the instance file path it governs.
└─> RenderingService.renderPath(…): string [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:142]
↳ Renders a template path with mustache, the same way contents are rendered.
└─> RenderingService.assertEverySubstitutionSupplied(…): void [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:35]
↳ Refuses to render a template asking for a value nobody supplied.
└─> RenderingService.collectInterpolatedNames(template: string): string[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:80]
↳ Every placeholder a template interpolates, deduplicated.
└─> RenderingService.walk(spans: TemplateSpans): void [projects/ic-suite/conformetry/conformetry-configuration/src/modules/rendering/rendering.service.ts:82]2. runConformetryGenerator — depth ≥ 14 · exported-function
🚀 runConformetryGenerator(…): Promise<string[]> [projects/ic-suite/conformetry/conformetry-nx/src/index.ts:93]
↳ Runs one configured generator against an Nx tree.
└─> PluginService.runGenerator(args: RunGeneratorArguments): Promise<string[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:348]
↳ Runs one configured generator against an Nx tree.
└─> PluginService.assertPluginInSync(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:121]
↳ Fails fast when the plugin would run against a stale or broken setup.
└─> PluginService.assertEmittedPluginCurrent(args: { configurationPath: string; workspaceRoot: string; }): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:87]
↳ Fails when the emitted Nx plugin no longer matches the configuration. `generators.json` and its schemas are derived…
└─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
↳ Returns every file the consumer's generator plugin consists of.
└─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
└─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
↳ The projects a generator's tagged groups admit, or nothing when it has none.
└─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
↳ The projects a generator's groups admit, by name and sorted.
└─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
└─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
└─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
↳ Returns whether a group applies to a project.
└─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
↳ Whether a group locates its instances by project tag.
└─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:233]
↳ Whether a group locates its instances inside the hosts its tags select.
└─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
↳ Whether a group locates its instances inside the hosts its tags select.3. runBootstrapCli — depth ≥ 12 · orphan-root
🚀 runBootstrapCli(workspaceRoot: string): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:71]
↳ Bootstraps the plugin, warning rather than failing the install.
└─> bootstrapPlugin(workspaceRoot: string): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:39]
↳ Emits the generator plugin and puts it where Nx will find it.
└─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
↳ Returns every file the consumer's generator plugin consists of.
└─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
└─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
↳ The projects a generator's tagged groups admit, or nothing when it has none.
└─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
↳ The projects a generator's groups admit, by name and sorted.
└─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
└─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
└─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
↳ Returns whether a group applies to a project.
└─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
↳ Whether a group locates its instances by project tag.
└─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:233]
↳ Whether a group locates its instances inside the hosts its tags select.
└─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
↳ Whether a group locates its instances inside the hosts its tags select.4. anonymous — depth ≥ 11 · orphan-root
🚀 anonymous(…): Promise<CreateNodesResultArray> [projects/ic-suite/conformetry/conformetry-nx/src/index.ts:49]
└─> PluginService.inferTargets(args: InferTargetsArguments): Promise<Map<string, InferredTargets>> [projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:283]
↳ Infers a validation target onto every project that holds at least one instance.
└─> InstancesService.findProjectInstances(args: FindProjectInstancesArguments): Promise<Instance[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:68]
↳ Expands every instance group that applies to a project, keeping only the instances that live inside it.
└─> InstancesService.flatMap(…)(this: undefined, group: ConformetryInstanceGroup): Instance[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84]
└─> ConfigurationService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:223]
↳ Expands instance globs into the instances that exist.
└─> InstanceDiscoveryService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery.service.ts:118]
↳ Expands instance globs into the instances that exist.
└─> InstanceDiscoveryLocatingService.findInstances(args: FindInstancesArguments): Instance[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:156]
↳ Expands every pattern and returns one instance per distinct path, name, and scope kind.
└─> InstanceDiscoveryLocatingService.globEntries(…): Dirent<string>[] [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:66]
↳ Expands one pattern, leaving out every path an exclude glob matches.
└─> InstanceDiscoveryLocatingService.filter(…)(entry: fs.Dirent<string>): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:76]
└─> InstanceDiscoveryLocatingService.isExcluded(…): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:85]
↳ Whether an exclude glob matches a found path, workspace-relative.
└─> InstanceDiscoveryLocatingService.some(…)(pattern: string): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-discovery/instance-discovery-locating.service.ts:95]5. syncGenerator — depth ≥ 11 · orphan-root
🚀 syncGenerator(tree: Tree, options?: SyncGeneratorOptions): Promise<SyncGeneratorResult> [projects/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:32]
↳ Regenerates the workspace's conformetry generator plugin.
└─> GeneratorService.emitPlugin(args: EmitPluginArguments): Promise<EmittedFile[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:212]
↳ Returns every file the consumer's generator plugin consists of.
└─> GeneratorService.map(…)(…): { content: string; filePath: string; } [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238]
└─> GeneratorService.resolveScopedProjectNames(…): string[] | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180]
↳ The projects a generator's tagged groups admit, or nothing when it has none.
└─> ScopeService.resolveScopedProjectNames(…): string[] [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135]
↳ The projects a generator's groups admit, by name and sorted.
└─> ScopeService.filter(…)(project: ProjectScope): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148]
└─> ScopeService.some(…)(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149]
└─> ScopeService.matchesProject(args: { group: ConformetryInstanceGroup; project: ProjectScope; }): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53]
↳ Returns whether a group applies to a project.
└─> ScopeService.isProjectGroup(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39]
↳ Whether a group locates its instances by project tag.
└─> ConfigurationService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/configuration/configuration.service.ts:233]
↳ Whether a group locates its instances inside the hosts its tags select.
└─> InstanceGroupService.isProjectScoped(group: ConformetryInstanceGroup): boolean [projects/ic-suite/conformetry/conformetry-configuration/src/modules/instance-group/instance-group.service.ts:42]
↳ Whether a group locates its instances inside the hosts its tags select.6. AdapterService.listDirectory — depth 3 · orphan-root
🚀 AdapterService.listDirectory(directoryPath: string): Promise<DirectoryEntry[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114]
└─> AdapterService.listDirectory(…): Promise<DirectoryEntry[]> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42]
↳ Lists a directory through the tree when it is inside the workspace, and through the filesystem otherwise.
└─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…7. AdapterService.readFile — depth 3 · orphan-root
🚀 AdapterService.readFile(filePath: string): Promise<string> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124]
└─> AdapterService.readFile(…): Promise<string> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68]
↳ Reads a file through the tree when possible, the filesystem otherwise.
└─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…8. AdapterService.writeFile — depth 2 · orphan-root
🚀 AdapterService.writeFile(filePath: string, content: string): Promise<void> [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131]
└─> AdapterService.resolveTreePath(args: { directoryPath: string; workspaceRoot: string; }): string | undefined [projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:89]
↳ Converts an absolute path to the workspace-relative form a `Tree` uses, or returns `undefined` when the path lies…Breadth
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| 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:348 |
| 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 |
| syncGenerator | 8 | resolveGeneratorService, resolveOptionsService, resolveProjectsService, GeneratorService.emitPlugin, OptionsService.resolveConfigurationPath, readNxConfiguration, ProjectsService.listWorkspaceProjects, assign(…) | projects/ic-suite/conformetry/conformetry-nx/src/generators/sync/generator.ts:32 |
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| 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 |
| 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 |
| 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:409 |
| 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 |
| 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:283 |
| ScopeService.resolveScopedProjectNames | 4 | ScopeService.filter(…), ScopeService.toSorted(…), ScopeService.map(…), ScopeService.filter(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:135 |
| ProjectsService.listWorkspaceProjects | 4 | ProjectsService.toSorted(…), ProjectsService.map(…), ProjectsService.listProjectConfigurationFiles, ProjectsService.readIgnoredPaths | projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:118 |
| PluginService.resolveTemplateInputs | 4 | ConfigurationService.loadConformetryConfiguration, PluginService.map(…), PluginService.map(…), buildTemplateHashCommand | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:234 |
| anonymous | 4 | resolvePluginService, PluginService.inferTargets, filter(…), map(…) | projects/ic-suite/conformetry/conformetry-nx/src/index.ts:49 |
| ScopeService.resolveGroup | 3 | ScopeService.matchesProject, ScopeService.isProjectGroup, ScopeService.map(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:75 |
| AdapterService.listDirectory | 3 | AdapterService.resolveTreePath, AdapterService.map(…), AdapterService.map(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:42 |
| PathsService.resolveScopedDirectory | 3 | ConfigurationService.loadConformetryConfiguration, PathsService.find(…), ScopeService.resolveScopedDirectory | projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:167 |
| PluginService.resolveOptions | 3 | OptionsService.readRegisteredConfigurationPath, PluginService.readNxConfiguration, OptionsService.resolvePluginOptions | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:193 |
| ScopeService.matchesProject | 2 | ScopeService.isProjectGroup, ScopeService.every(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:53 |
| ScopeService.resolveScopedDirectory | 2 | ScopeService.find(…), ScopeService.findIndex(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:109 |
| GeneratorService.buildSchema | 2 | GeneratorService.stringify, GeneratorService.buildSchemaProperties | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:122 |
| GeneratorService.map(…) | 2 | GeneratorService.buildSchema, GeneratorService.resolveScopedProjectNames | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:238 |
| OptionsService.readRegisteredConfigurationPath | 2 | OptionsService.isUnknownArray, OptionsService.readString | projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:51 |
| OptionsService.resolveConfigurationPath | 2 | ConfigurationService.requireConfigurationPath, OptionsService.readRegisteredConfigurationPath | projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:98 |
| OptionsService.resolvePluginOptions | 2 | ConfigurationService.requireConfigurationPath, OptionsService.readString | projects/ic-suite/conformetry/conformetry-nx/src/modules/options/options.service.ts:145 |
| PathsService.resolveNewProjectPath | 2 | missingDirectoryError, PathsService.resolveTypeDirectoryPath | projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:140 |
| ProjectsService.readIgnoredPaths | 2 | ProjectsService.filter(…), ProjectsService.map(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:97 |
| ProjectsService.readProjectScope | 2 | ProjectsService.isUnknownArray, ProjectsService.filter(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:134 |
| PluginService.assertEmittedPluginCurrent | 2 | GeneratorService.emitPlugin, ProjectsService.listWorkspaceProjects | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:87 |
| PluginService.assertPluginInSync | 2 | PluginService.assertTemplatesExist, PluginService.assertEmittedPluginCurrent | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:121 |
| PluginService.resolveTemplates | 2 | ConfigurationService.loadConformetryConfiguration, PluginService.map(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:254 |
| runConformetryGenerator | 2 | resolvePluginService, PluginService.runGenerator | projects/ic-suite/conformetry/conformetry-nx/src/index.ts:93 |
| validateExecutor | 2 | resolvePluginService, PluginService.runValidation | projects/ic-suite/conformetry/conformetry-nx/src/executors/validate/executor.ts:16 |
| ScopeService.isProjectGroup | 1 | ConfigurationService.isProjectScoped | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:39 |
| ScopeService.find(…) | 1 | ScopeService.isProjectGroup | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:112 |
| ScopeService.filter(…) | 1 | ScopeService.isProjectGroup | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:139 |
| ScopeService.filter(…) | 1 | ScopeService.some(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:148 |
| ScopeService.some(…) | 1 | ScopeService.matchesProject | projects/ic-suite/conformetry/conformetry-nx/src/modules/scope/scope.service.ts:149 |
| GeneratorService.buildGeneratorsManifest | 1 | GeneratorService.stringify | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:86 |
| GeneratorService.resolveScopedProjectNames | 1 | ScopeService.resolveScopedProjectNames | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:180 |
| GeneratorService.map(…) | 1 | GeneratorService.buildGeneratorModule | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/generator.service.ts:229 |
| AdapterService.readFile | 1 | AdapterService.resolveTreePath | projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:68 |
| AdapterService.listDirectory | 1 | AdapterService.listDirectory | projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:114 |
| AdapterService.readFile | 1 | AdapterService.readFile | projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:124 |
| AdapterService.writeFile | 1 | AdapterService.resolveTreePath | projects/ic-suite/conformetry/conformetry-nx/src/modules/adapter/adapter.service.ts:131 |
| InstancesService.flatMap(…) | 1 | ScopeService.resolveGroup | projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:79 |
| InstancesService.flatMap(…) | 1 | ConfigurationService.findInstances | projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:84 |
| InstancesService.filter(…) | 1 | InstancesService.isInsideProject | projects/ic-suite/conformetry/conformetry-nx/src/modules/instances/instances.service.ts:97 |
| PathsService.requireModulePath | 1 | PathsService.resolveModulePath | projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:57 |
| PathsService.resolveModuleParentPath | 1 | PathsService.toSorted(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:86 |
| PathsService.resolveModulePath | 1 | PathsService.find(…) | projects/ic-suite/conformetry/conformetry-nx/src/modules/paths/paths.service.ts:118 |
| ProjectsService.map(…) | 1 | ProjectsService.readProjectScope | projects/ic-suite/conformetry/conformetry-nx/src/modules/projects/projects.service.ts:124 |
| PluginService.assertTemplatesExist | 1 | ConfigurationService.loadConformetryConfiguration | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:137 |
| PluginService.map(…) | 1 | ConfigurationService.collectTemplate | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin.service.ts:263 |
| resolveGeneratorService | 1 | resolvePluginContext | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:18 |
| resolveOptionsService | 1 | resolvePluginContext | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:25 |
| resolvePluginService | 1 | resolvePluginContext | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:32 |
| resolveProjectsService | 1 | resolvePluginContext | projects/ic-suite/conformetry/conformetry-nx/src/modules/plugin/plugin-context.utilities.ts:39 |
| runBootstrapCli | 1 | bootstrapPlugin | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:71 |
| linkPlugin | 1 | leadsTo | projects/ic-suite/conformetry/conformetry-nx/src/modules/generator/bootstrap.utilities.ts:113 |
🕸️ Codependix
Dependency graphs exported by codependix, regenerated by nx run configuration:codependix:write.
Nx Neighborhood
graph LR
conformetry_configuration["conformetry-configuration"]
conformetry_examples["conformetry-examples"]
conformetry_generation["conformetry-generation"]
conformetry_nx["conformetry-nx"]
conformetry_output["conformetry-output"]
conformetry_validation["conformetry-validation"]
logging["logging"]
conformetry_examples --> conformetry_nx
conformetry_nx --> conformetry_configuration
conformetry_nx --> conformetry_generation
conformetry_nx --> conformetry_output
conformetry_nx --> conformetry_validation
conformetry_nx --> logging
classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
class conformetry_nx subjectNestJS Module Graph
flowchart LR
AdapterModule
ConfigurationModule
DifferencesModule
FilesModule
GenerationModule
GeneratorModule
InputModule
InstanceDiscoveryModule
InstanceGroupModule
InstancesModule
JsonModule
JupyterModule
LanguagesModule
LoggerModule([LoggerModule])
MainModule
MarkdownModule
OptionsModule
PathsModule
PluginModule
ProjectsModule
PythonModule
RenderingModule
ReportingModule
RunnerModule
ScopeModule
ScoringModule
TemplateDiscoveryModule
TextModule
TypescriptModule
ValidationModule
ConfigurationModule --> InputModule
ConfigurationModule --> InstanceDiscoveryModule
ConfigurationModule --> InstanceGroupModule
ConfigurationModule --> RenderingModule
ConfigurationModule --> TemplateDiscoveryModule
FilesModule --> ConfigurationModule
FilesModule --> DifferencesModule
GenerationModule --> ConfigurationModule
GeneratorModule --> ConfigurationModule
GeneratorModule --> ScopeModule
InstanceDiscoveryModule --> InstanceGroupModule
InstanceDiscoveryModule --> RenderingModule
InstanceDiscoveryModule --> TemplateDiscoveryModule
InstancesModule --> ConfigurationModule
InstancesModule --> ScopeModule
JsonModule --> ScoringModule
JupyterModule --> JsonModule
JupyterModule --> MarkdownModule
JupyterModule --> PythonModule
LanguagesModule --> JsonModule
LanguagesModule --> JupyterModule
LanguagesModule --> MarkdownModule
LanguagesModule --> PythonModule
LanguagesModule --> TextModule
LanguagesModule --> TypescriptModule
MainModule --> GeneratorModule
MainModule --> PluginModule
MarkdownModule --> ScoringModule
OptionsModule --> ConfigurationModule
PathsModule --> ConfigurationModule
PathsModule --> InstancesModule
PathsModule --> ScopeModule
PluginModule --> AdapterModule
PluginModule --> ConfigurationModule
PluginModule --> GenerationModule
PluginModule --> GeneratorModule
PluginModule --> InstancesModule
PluginModule --> OptionsModule
PluginModule --> PathsModule
PluginModule --> ProjectsModule
PluginModule --> ReportingModule
PluginModule --> ScopeModule
PluginModule --> ValidationModule
PythonModule --> DifferencesModule
PythonModule --> ScoringModule
ReportingModule --> ScoringModule
ScopeModule --> ConfigurationModule
TemplateDiscoveryModule --> RenderingModule
TypescriptModule --> ScoringModule
ValidationModule --> ConfigurationModule
ValidationModule --> FilesModule
ValidationModule --> LanguagesModule
ValidationModule --> RunnerModule
ValidationModule --> ScoringModuleRounded modules are global: every module can inject them, so their edges are left out.
File Imports
graph LR
file_callidescope_config_ts["callidescope.config.ts"]
file_codependix_config_ts["codependix.config.ts"]
file_codometer_config_ts["codometer.config.ts"]
file_eslint_config_ts["eslint.config.ts"]
file_src_conformetry_nx_main_ts["src/conformetry-nx.main.ts"]
file_src_conformetry_nx_main_unit_test_ts["src/conformetry-nx.main.unit.test.ts"]
file_src_conformetry_nx_module_ts["src/conformetry-nx.module.ts"]
file_src_executors_validate_executor_ts["src/executors/validate/executor.ts"]
file_src_executors_validate_executor_types_ts["src/executors/validate/executor.types.ts"]
file_src_executors_validate_executor_unit_test_ts["src/executors/validate/executor.unit.test.ts"]
file_src_generators_sync_generator_ts["src/generators/sync/generator.ts"]
file_src_generators_sync_generator_types_ts["src/generators/sync/generator.types.ts"]
file_src_generators_sync_generator_unit_test_ts["src/generators/sync/generator.unit.test.ts"]
file_src_index_ts["src/index.ts"]
file_src_index_unit_test_ts["src/index.unit.test.ts"]
file_src_modules_adapter_adapter_constants_ts["src/modules/adapter/adapter.constants.ts"]
file_src_modules_adapter_adapter_module_ts["src/modules/adapter/adapter.module.ts"]
file_src_modules_adapter_adapter_service_ts["src/modules/adapter/adapter.service.ts"]
file_src_modules_adapter_adapter_service_unit_test_ts["src/modules/adapter/adapter.service.unit.test.ts"]
file_src_modules_adapter_adapter_types_ts["src/modules/adapter/adapter.types.ts"]
file_src_modules_generator_bootstrap_utilities_ts["src/modules/generator/bootstrap.utilities.ts"]
file_src_modules_generator_bootstrap_utilities_unit_test_ts["src/modules/generator/bootstrap.utilities.unit.test.ts"]
file_src_modules_generator_generator_constants_ts["src/modules/generator/generator.constants.ts"]
file_src_modules_generator_generator_module_ts["src/modules/generator/generator.module.ts"]
file_src_modules_generator_generator_service_ts["src/modules/generator/generator.service.ts"]
file_src_modules_generator_generator_service_unit_test_ts["src/modules/generator/generator.service.unit.test.ts"]
file_src_modules_generator_generator_types_ts["src/modules/generator/generator.types.ts"]
file_src_modules_instances_instances_constants_ts["src/modules/instances/instances.constants.ts"]
file_src_modules_instances_instances_module_ts["src/modules/instances/instances.module.ts"]
file_src_modules_instances_instances_service_ts["src/modules/instances/instances.service.ts"]
file_src_modules_instances_instances_service_unit_test_ts["src/modules/instances/instances.service.unit.test.ts"]
file_src_modules_instances_instances_types_ts["src/modules/instances/instances.types.ts"]
file_src_modules_options_options_constants_ts["src/modules/options/options.constants.ts"]
file_src_modules_options_options_module_ts["src/modules/options/options.module.ts"]
file_src_modules_options_options_service_ts["src/modules/options/options.service.ts"]
file_src_modules_options_options_service_unit_test_ts["src/modules/options/options.service.unit.test.ts"]
file_src_modules_options_options_types_ts["src/modules/options/options.types.ts"]
file_src_modules_paths_paths_constants_ts["src/modules/paths/paths.constants.ts"]
file_src_modules_paths_paths_module_ts["src/modules/paths/paths.module.ts"]
file_src_modules_paths_paths_service_ts["src/modules/paths/paths.service.ts"]
file_src_modules_paths_paths_service_unit_test_ts["src/modules/paths/paths.service.unit.test.ts"]
file_src_modules_paths_paths_types_ts["src/modules/paths/paths.types.ts"]
file_src_modules_plugin_plugin_context_utilities_ts["src/modules/plugin/plugin-context.utilities.ts"]
file_src_modules_plugin_plugin_context_utilities_unit_test_ts["src/modules/plugin/plugin-context.utilities.unit.test.ts"]
file_src_modules_plugin_plugin_constants_ts["src/modules/plugin/plugin.constants.ts"]
file_src_modules_plugin_plugin_module_ts["src/modules/plugin/plugin.module.ts"]
file_src_modules_plugin_plugin_service_ts["src/modules/plugin/plugin.service.ts"]
file_src_modules_plugin_plugin_service_unit_test_ts["src/modules/plugin/plugin.service.unit.test.ts"]
file_src_modules_plugin_plugin_types_ts["src/modules/plugin/plugin.types.ts"]
file_src_modules_plugin_plugin_utilities_ts["src/modules/plugin/plugin.utilities.ts"]
file_src_modules_plugin_plugin_utilities_unit_test_ts["src/modules/plugin/plugin.utilities.unit.test.ts"]
file_src_modules_projects_projects_constants_ts["src/modules/projects/projects.constants.ts"]
file_src_modules_projects_projects_module_ts["src/modules/projects/projects.module.ts"]
file_src_modules_projects_projects_service_ts["src/modules/projects/projects.service.ts"]
file_src_modules_projects_projects_service_unit_test_ts["src/modules/projects/projects.service.unit.test.ts"]
file_src_modules_projects_projects_types_ts["src/modules/projects/projects.types.ts"]
file_src_modules_scope_scope_constants_ts["src/modules/scope/scope.constants.ts"]
file_src_modules_scope_scope_module_ts["src/modules/scope/scope.module.ts"]
file_src_modules_scope_scope_service_ts["src/modules/scope/scope.service.ts"]
file_src_modules_scope_scope_service_unit_test_ts["src/modules/scope/scope.service.unit.test.ts"]
file_src_modules_scope_scope_types_ts["src/modules/scope/scope.types.ts"]
file_testing_manifest_unit_test_ts["testing/manifest.unit.test.ts"]
file_testing_mocks_ts["testing/mocks.ts"]
file_testing_setup_ts["testing/setup.ts"]
file_vite_config_ts["vite.config.ts"]
file_vitest_config_ts["vitest.config.ts"]
file_src_conformetry_nx_main_ts --> file_src_modules_generator_bootstrap_utilities_ts
file_src_conformetry_nx_main_unit_test_ts --> file_src_modules_generator_bootstrap_utilities_ts
file_src_conformetry_nx_module_ts --> file_src_modules_generator_generator_module_ts
file_src_conformetry_nx_module_ts --> file_src_modules_plugin_plugin_module_ts
file_src_executors_validate_executor_ts --> file_src_executors_validate_executor_types_ts
file_src_executors_validate_executor_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_executors_validate_executor_unit_test_ts --> file_src_executors_validate_executor_ts
file_src_executors_validate_executor_unit_test_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_generators_sync_generator_ts --> file_src_generators_sync_generator_types_ts
file_src_generators_sync_generator_ts --> file_src_modules_generator_generator_constants_ts
file_src_generators_sync_generator_ts --> file_src_modules_options_options_constants_ts
file_src_generators_sync_generator_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_generators_sync_generator_unit_test_ts --> file_src_generators_sync_generator_ts
file_src_generators_sync_generator_unit_test_ts --> file_src_modules_options_options_constants_ts
file_src_generators_sync_generator_unit_test_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_index_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_index_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_index_unit_test_ts --> file_src_index_ts
file_src_index_unit_test_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_modules_adapter_adapter_module_ts --> file_src_modules_adapter_adapter_service_ts
file_src_modules_adapter_adapter_service_ts --> file_src_modules_adapter_adapter_constants_ts
file_src_modules_adapter_adapter_service_ts --> file_src_modules_adapter_adapter_types_ts
file_src_modules_adapter_adapter_service_unit_test_ts --> file_src_modules_adapter_adapter_service_ts
file_src_modules_generator_bootstrap_utilities_ts --> file_src_modules_generator_generator_constants_ts
file_src_modules_generator_bootstrap_utilities_ts --> file_src_modules_generator_generator_types_ts
file_src_modules_generator_bootstrap_utilities_ts --> file_src_modules_options_options_constants_ts
file_src_modules_generator_bootstrap_utilities_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_modules_generator_bootstrap_utilities_unit_test_ts --> file_src_modules_generator_bootstrap_utilities_ts
file_src_modules_generator_bootstrap_utilities_unit_test_ts --> file_src_modules_generator_generator_constants_ts
file_src_modules_generator_bootstrap_utilities_unit_test_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_modules_generator_generator_module_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_generator_generator_module_ts --> file_src_modules_scope_scope_module_ts
file_src_modules_generator_generator_service_ts --> file_src_modules_generator_generator_constants_ts
file_src_modules_generator_generator_service_ts --> file_src_modules_generator_generator_types_ts
file_src_modules_generator_generator_service_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_generator_generator_service_ts --> file_src_modules_paths_paths_constants_ts
file_src_modules_generator_generator_service_ts --> file_src_modules_scope_scope_service_ts
file_src_modules_generator_generator_service_unit_test_ts --> file_src_modules_generator_generator_module_ts
file_src_modules_generator_generator_service_unit_test_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_generator_generator_service_unit_test_ts --> file_src_modules_generator_generator_types_ts
file_src_modules_generator_generator_types_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_instances_instances_module_ts --> file_src_modules_instances_instances_service_ts
file_src_modules_instances_instances_module_ts --> file_src_modules_scope_scope_module_ts
file_src_modules_instances_instances_service_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_instances_instances_service_ts --> file_src_modules_scope_scope_service_ts
file_src_modules_instances_instances_service_unit_test_ts --> file_src_modules_instances_instances_service_ts
file_src_modules_instances_instances_service_unit_test_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_instances_instances_service_unit_test_ts --> file_src_modules_scope_scope_module_ts
file_src_modules_options_options_module_ts --> file_src_modules_options_options_service_ts
file_src_modules_options_options_service_ts --> file_src_modules_options_options_constants_ts
file_src_modules_options_options_service_ts --> file_src_modules_options_options_types_ts
file_src_modules_options_options_service_unit_test_ts --> file_src_modules_options_options_constants_ts
file_src_modules_options_options_service_unit_test_ts --> file_src_modules_options_options_service_ts
file_src_modules_paths_paths_module_ts --> file_src_modules_instances_instances_module_ts
file_src_modules_paths_paths_module_ts --> file_src_modules_paths_paths_service_ts
file_src_modules_paths_paths_module_ts --> file_src_modules_scope_scope_module_ts
file_src_modules_paths_paths_service_ts --> file_src_modules_instances_instances_service_ts
file_src_modules_paths_paths_service_ts --> file_src_modules_paths_paths_constants_ts
file_src_modules_paths_paths_service_ts --> file_src_modules_paths_paths_types_ts
file_src_modules_paths_paths_service_ts --> file_src_modules_scope_scope_service_ts
file_src_modules_paths_paths_service_unit_test_ts --> file_src_modules_instances_instances_service_ts
file_src_modules_paths_paths_service_unit_test_ts --> file_src_modules_paths_paths_module_ts
file_src_modules_paths_paths_service_unit_test_ts --> file_src_modules_paths_paths_service_ts
file_src_modules_paths_paths_service_unit_test_ts --> file_src_modules_scope_scope_service_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_conformetry_nx_module_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_options_options_service_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_plugin_plugin_service_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_plugin_plugin_types_ts
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_projects_projects_service_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_options_options_service_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_plugin_plugin_context_utilities_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_plugin_plugin_service_ts
file_src_modules_plugin_plugin_context_utilities_unit_test_ts --> file_src_modules_projects_projects_service_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_adapter_adapter_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_generator_generator_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_instances_instances_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_options_options_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_paths_paths_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_plugin_plugin_service_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_projects_projects_module_ts
file_src_modules_plugin_plugin_module_ts --> file_src_modules_scope_scope_module_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_adapter_adapter_service_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_generator_generator_constants_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_instances_instances_service_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_options_options_constants_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_options_options_service_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_options_options_types_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_paths_paths_service_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_plugin_plugin_types_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_plugin_plugin_utilities_ts
file_src_modules_plugin_plugin_service_ts --> file_src_modules_projects_projects_service_ts
file_src_modules_plugin_plugin_service_unit_test_ts --> file_src_modules_generator_generator_constants_ts
file_src_modules_plugin_plugin_service_unit_test_ts --> file_src_modules_generator_generator_service_ts
file_src_modules_plugin_plugin_service_unit_test_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_plugin_plugin_service_unit_test_ts --> file_src_modules_plugin_plugin_module_ts
file_src_modules_plugin_plugin_service_unit_test_ts --> file_src_modules_plugin_plugin_service_ts
file_src_modules_plugin_plugin_types_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_plugin_plugin_types_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_modules_plugin_plugin_utilities_ts --> file_src_modules_plugin_plugin_constants_ts
file_src_modules_plugin_plugin_utilities_unit_test_ts --> file_src_modules_plugin_plugin_utilities_ts
file_src_modules_projects_projects_module_ts --> file_src_modules_projects_projects_service_ts
file_src_modules_projects_projects_service_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_projects_projects_service_ts --> file_src_modules_projects_projects_constants_ts
file_src_modules_projects_projects_service_ts --> file_src_modules_projects_projects_types_ts
file_src_modules_projects_projects_service_unit_test_ts --> file_src_modules_projects_projects_service_ts
file_src_modules_scope_scope_module_ts --> file_src_modules_scope_scope_service_ts
file_src_modules_scope_scope_service_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_scope_scope_service_ts --> file_src_modules_scope_scope_constants_ts
file_src_modules_scope_scope_service_unit_test_ts --> file_src_modules_instances_instances_types_ts
file_src_modules_scope_scope_service_unit_test_ts --> file_src_modules_scope_scope_service_ts⏲️ Codometer
Project
Measured Targets
TypeScript
JavaScript
Python
JSON
YAML
TOML
Shell
SQL
