@conformetry/output
v0.0.35
Published
Console rendering, JSON reporting, and formatting for Conformetry conformance results
Downloads
2,933
Maintainers
Readme
👔 Conformetry Output
Every render target Conformetry has. It sits at
the output layer of the five-layer spine — core <- configuration <- analysis
<- output <- cli — so it reads what analysis produced and turns it into text,
and runs no analysis of its own.
npm install --save-dev @conformetry/outputWhat it owns
| Module | Responsibility |
| ------ | -------------- |
| reporting | Renders structured conformance differences, and the per-instance score summary above them, as readable and actionable text |
| inventory | Renders the template and instance inventory: the indent ladder, the headings, and the match percentage |
Both are rendering, and both used to live in
@conformetry/core — which is why that package
could not be a contracts leaf. They are here so that "the host composes, the
output renders" is true of conformetry the way it is of its three siblings, and
so that adding a render format has exactly one home.
Where a host gets them
ReportingModule and InventoryModule are named explicitly by whichever host
wants them. Neither is re-exported by ValidationModule: validation is an
analysis package and sits beneath this one, so it cannot reach up to hand a
renderer on.
@Module({ imports: [ReportingModule, ValidationModule] })
class EmbeddedConformetryModule {}Paths
Paths arrive absolute, because that is the only stable way for discovery to name an instance to another process. Shortening them against a working directory is offered as a separate step rather than folded into rendering — only a host knows which directory a person is standing in.
Test
nx run conformetry-output:vitestLicense
MIT — see LICENSE.
👔 Conformetry
This project was generated from the nestjs-service-project conformetry template.
🕸️ Codependix
Dependency graphs exported by codependix, regenerated by nx run configuration:codependix:write.
Nx Neighborhood
graph LR
conformetry_cli["conformetry-cli"]
conformetry_core["conformetry-core"]
conformetry_examples["conformetry-examples"]
conformetry_languages["conformetry-languages"]
conformetry_nx["conformetry-nx"]
conformetry_output["conformetry-output"]
conformetry_cli --> conformetry_output
conformetry_examples --> conformetry_output
conformetry_nx --> conformetry_output
conformetry_output --> conformetry_core
conformetry_output --> conformetry_languages
classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
class conformetry_output subjectNestJS Module Graph
flowchart LR
InventoryModule
ReportingModule
ScoringModule
ReportingModule --> ScoringModuleFile 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_index_ts["src/index.ts"]
file_src_modules_inventory_inventory_constants_ts["src/modules/inventory/inventory.constants.ts"]
file_src_modules_inventory_inventory_module_ts["src/modules/inventory/inventory.module.ts"]
file_src_modules_inventory_inventory_module_unit_test_ts["src/modules/inventory/inventory.module.unit.test.ts"]
file_src_modules_inventory_inventory_service_ts["src/modules/inventory/inventory.service.ts"]
file_src_modules_inventory_inventory_service_unit_test_ts["src/modules/inventory/inventory.service.unit.test.ts"]
file_src_modules_inventory_inventory_types_ts["src/modules/inventory/inventory.types.ts"]
file_src_modules_reporting_reporting_constants_ts["src/modules/reporting/reporting.constants.ts"]
file_src_modules_reporting_reporting_module_ts["src/modules/reporting/reporting.module.ts"]
file_src_modules_reporting_reporting_module_unit_test_ts["src/modules/reporting/reporting.module.unit.test.ts"]
file_src_modules_reporting_reporting_service_ts["src/modules/reporting/reporting.service.ts"]
file_src_modules_reporting_reporting_service_unit_test_ts["src/modules/reporting/reporting.service.unit.test.ts"]
file_src_modules_reporting_reporting_types_ts["src/modules/reporting/reporting.types.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_modules_inventory_inventory_module_ts --> file_src_modules_inventory_inventory_service_ts
file_src_modules_inventory_inventory_module_unit_test_ts --> file_src_modules_inventory_inventory_module_ts
file_src_modules_inventory_inventory_module_unit_test_ts --> file_src_modules_inventory_inventory_service_ts
file_src_modules_inventory_inventory_service_ts --> file_src_modules_inventory_inventory_constants_ts
file_src_modules_inventory_inventory_service_unit_test_ts --> file_src_modules_inventory_inventory_service_ts
file_src_modules_reporting_reporting_module_ts --> file_src_modules_reporting_reporting_service_ts
file_src_modules_reporting_reporting_module_unit_test_ts --> file_src_modules_reporting_reporting_module_ts
file_src_modules_reporting_reporting_module_unit_test_ts --> file_src_modules_reporting_reporting_service_ts
file_src_modules_reporting_reporting_service_ts --> file_src_modules_reporting_reporting_constants_ts
file_src_modules_reporting_reporting_service_ts --> file_src_modules_reporting_reporting_types_ts
file_src_modules_reporting_reporting_service_unit_test_ts --> file_src_modules_reporting_reporting_service_ts🔭 Callidescope
Call stacks traced through projects/ic-suite/conformetry/conformetry-output, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
| Measure | Value | | --- | --- | | Callables | 32 | | Files | 15 | | Calls traced | 34 | | Call stacks | 0 | | Deepest stack | 0 | | 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 | 6 |
| maximumBreadth | 4 |
Call stacks (depth)
None.
Breadth
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| ReportingService.formatTotal | 4 | ReportingService.reduce(…), ReportingService.reduce(…), ReportingService.filter(…), ReportingService.formatFraction | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:234 |
| ReportingService.formatFileResult | 3 | ReportingService.formatFraction, ScoringService.sumWeights, ReportingService.flatMap(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:98 |
| ReportingService.formatScores | 3 | ReportingService.filter(…), ReportingService.map(…), ReportingService.formatTotal | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:197 |
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| ReportingService.formatFraction | 2 | ScoringService.calculateScore, ReportingService.formatPercentage | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:131 |
| ReportingService.formatScore | 2 | ReportingService.formatPercentage, ReportingService.formatFraction | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:166 |
| ReportingService.formatReport | 2 | ReportingService.formatScores, ReportingService.flatMap(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:262 |
| InventoryService.describePairing | 1 | InventoryService.formatRatio | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:48 |
| InventoryService.describeInstances | 1 | InventoryService.flatMap(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:77 |
| InventoryService.flatMap(…) | 1 | InventoryService.map(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:78 |
| InventoryService.map(…) | 1 | InventoryService.describePairing | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:82 |
| InventoryService.describeTemplates | 1 | InventoryService.flatMap(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:94 |
| InventoryService.flatMap(…) | 1 | InventoryService.map(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:98 |
| InventoryService.map(…) | 1 | InventoryService.describePairing | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:109 |
| InventoryService.shortenInstancePaths | 1 | InventoryService.map(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:120 |
| InventoryService.map(…) | 1 | InventoryService.shortenPath | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:124 |
| InventoryService.shortenTemplatePairings | 1 | InventoryService.map(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:136 |
| InventoryService.map(…) | 1 | InventoryService.map(…) | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:140 |
| InventoryService.map(…) | 1 | InventoryService.shortenPath | projects/ic-suite/conformetry/conformetry-output/src/modules/inventory/inventory.service.ts:143 |
| ReportingService.formatError | 1 | ReportingService.formatLocation | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:54 |
| ReportingService.flatMap(…) | 1 | ReportingService.formatError | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:115 |
| ReportingService.map(…) | 1 | ReportingService.formatScore | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:211 |
| ReportingService.flatMap(…) | 1 | ReportingService.formatFileResult | projects/ic-suite/conformetry/conformetry-output/src/modules/reporting/reporting.service.ts:274 |
⏲️ Codometer
Project
Measured Targets
TypeScript
JavaScript
Python
JSON
YAML
TOML
Shell
SQL
HCL
CSS
Conventions
Jupyter
Markdown
