@coinagerie/configuration
v0.0.9
Published
Configuration schema, loader, and command-line flag resolution for the coinagerie vocabulary toolchain
Maintainers
Readme
@coinagerie/configuration
The configuration schema, loader, and command-line flag resolution for coinagerie. It reads a coinagerie.config.ts and resolves the folder a run scans, what it includes and excludes, and where its glossaries are written.
npm install @coinagerie/configurationTest
nx run coinagerie-configuration:vitest👔 Conformetry
This project was generated from the nestjs-service-project conformetry template.
🪙 Coinagerie
The words this package uses that the root glossary does not define, regenerated with nx run coinagerie-configuration:coinagerie-check:write.
- breadth: Second callidescope limit, the count of distinct callees one callable may reach, set per project in its callidescope config.
- forbid: Pattern in the configuration constants that rejects a description holding a list item or HTML comment, since those would read back as glossary text.
🔭 Callidescope
Call stacks traced through projects/ic-suite/coinagerie/coinagerie-configuration, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
| Measure | Value | | --- | --- | | Callables | 14 | | Files | 12 | | Calls traced | 20 | | Call stacks | 1 | | Deepest stack | 2 | | Stacks through recursion | 0 | | Unfollowable calls | 2 |
Limits
What this project is judged against, as declared in its own callidescope.config.ts.
| Limit | Value |
| --- | --- |
| maximumDepth | 3 |
| maximumBreadth | 3 |
Call stacks (depth)
1. ConfigurationService.anonymous — depth ≥ 2 · orphan-root
🚀 ConfigurationService.anonymous(word: string): string [projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:67]
└─> InvalidConfigurationError.constructor(filePath: string, reason: string): InvalidConfigurationError [projects/ic-suite/coinagerie/coinagerie-core/src/modules/coinagerie-core/coinagerie-core.constants.ts:32]Breadth
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| ConfigurationService.locate | 3 | ConfigurationFileNotFoundError.constructor, ConfigurationService.find(…), ConfigurationService.map(…) | projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:99 |
| ConfigurationService.read | 3 | InvalidConfigurationError.constructor, ConfigurationService.describe, ConfigurationService.resolveWords | projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:169 |
| ConfigurationService.resolve | 3 | InvalidConfigurationError.constructor, ConfigurationService.override, ConfigurationService.guardFold | projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:205 |
| Callable | Breadth | Calls directly | Location |
| --- | --- | --- | --- |
| ConfigurationService.loadConfiguration | 3 | ConfigurationService.locate, ConfigurationService.resolve, ConfigurationService.read | projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:320 |
| ConfigurationService.anonymous | 2 | InvalidConfigurationError.constructor, ConfigurationService.describe | projects/ic-suite/coinagerie/coinagerie-configuration/src/modules/configuration/configuration.service.ts:67 |
🕸️ Codependix
Dependency graphs exported by codependix, regenerated by nx run configuration:codependix:write.
Nx Neighborhood
graph LR
coinagerie_cli["coinagerie-cli"]
coinagerie_configuration["coinagerie-configuration"]
coinagerie_core["coinagerie-core"]
coinagerie_nx["coinagerie-nx"]
coinagerie_output["coinagerie-output"]
coinagerie_vocabulary["coinagerie-vocabulary"]
coinagerie_cli --> coinagerie_configuration
coinagerie_configuration --> coinagerie_core
coinagerie_nx --> coinagerie_configuration
coinagerie_output --> coinagerie_configuration
coinagerie_vocabulary --> coinagerie_configuration
classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
class coinagerie_configuration subjectNestJS Module Graph
flowchart LR
ConfigurationModuleFile 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_coinagerie_config_ts["coinagerie.config.ts"]
file_eslint_config_ts["eslint.config.ts"]
file_src_index_ts["src/index.ts"]
file_src_index_unit_test_ts["src/index.unit.test.ts"]
file_src_modules_configuration_configuration_constants_ts["src/modules/configuration/configuration.constants.ts"]
file_src_modules_configuration_configuration_module_ts["src/modules/configuration/configuration.module.ts"]
file_src_modules_configuration_configuration_service_ts["src/modules/configuration/configuration.service.ts"]
file_src_modules_configuration_configuration_service_unit_test_ts["src/modules/configuration/configuration.service.unit.test.ts"]
file_src_modules_configuration_configuration_types_ts["src/modules/configuration/configuration.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_index_unit_test_ts --> file_src_index_ts
file_src_modules_configuration_configuration_constants_ts --> file_src_modules_configuration_configuration_types_ts
file_src_modules_configuration_configuration_module_ts --> file_src_modules_configuration_configuration_service_ts
file_src_modules_configuration_configuration_service_ts --> file_src_modules_configuration_configuration_constants_ts
file_src_modules_configuration_configuration_service_ts --> file_src_modules_configuration_configuration_types_ts
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_configuration_configuration_constants_ts
file_src_modules_configuration_configuration_service_unit_test_ts --> file_src_modules_configuration_configuration_service_ts⏲️ Codometer
Project
TypeScript
JavaScript
Python
JSON
YAML
TOML
Shell
SQL
HCL
CSS
Conventions
Jupyter
Markdown
