@codometer/cli 0.0.29 → 0.0.31

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,25 @@
1
+ ## 0.0.31 (2026-10-16)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated codometer-configuration to 0.0.30
6
+ - Updated codometer-measurement to 0.0.30
7
+ - Updated codometer-output to 0.0.30
8
+ - Updated codometer-core to 0.0.30
9
+
10
+ ## 0.0.30 (2026-10-15)
11
+
12
+ ### 💅 Refactors
13
+
14
+ - **callidescope,codependix,codometer,conformetry:** ♻️ require --config on every ic-suite command line ([#1598](https://github.com/organizzolini/codebase/pull/1598))
15
+
16
+ ### 🧱 Updated Dependencies
17
+
18
+ - Updated codometer-configuration to 0.0.29
19
+ - Updated codometer-measurement to 0.0.29
20
+ - Updated codometer-output to 0.0.29
21
+ - Updated codometer-core to 0.0.29
22
+
1
23
  ## 0.0.29 (2026-10-15)
2
24
 
3
25
  ### 💅 Refactors
package/README.md CHANGED
@@ -15,7 +15,7 @@ npm install --save-dev @codometer/cli
15
15
  ```
16
16
 
17
17
  ```bash
18
- codometer
18
+ codometer --config codometer.config.ts
19
19
  ```
20
20
 
21
21
  <!-- The badge block below this README's own Codometer section is produced by exactly this. -->
@@ -41,17 +41,19 @@ the ones you declare.
41
41
 
42
42
  ## Usage
43
43
 
44
- Measuring the repository is codometer's default command, so `codometer` on its
45
- own is `codometer measure`:
44
+ Measuring the repository is codometer's default command, so `codometer` with
45
+ its flags and no subcommand is `codometer measure`. **`--config <path>` is
46
+ required** — codometer never searches for a configuration file and has no
47
+ default one, and a run without the flag is refused with an error naming it:
46
48
 
47
49
  ```bash
48
- codometer --config configuration/codometer.config.ts --check limits
50
+ codometer --config projects/configuration/codometer.config.ts --check limits
49
51
  ```
50
52
 
51
53
  | Flag | Purpose |
52
54
  | ---- | ------- |
53
55
  | `--check [set]` | Fail on a comma-separated set drawn from `reports` and `limits` |
54
- | `--config [path]` | Configuration file to read; searched for when omitted |
56
+ | `--config <path>` | **Required.** The configuration file to read |
55
57
  | `-f, --format <format>` | What to print to standard output, one of `json` and `markdown` |
56
58
  | `--inputs [globs...]` | Glob array measured in place of every configured input, with no configured input — not even the built-in `codebase` one — active |
57
59
  | `--output-json [path]` | Write the JSON report, at the given path or the configured one |
@@ -68,12 +70,12 @@ another on:
68
70
 
69
71
  | Invocation | Writes | Fails on staleness | Fails on a breach |
70
72
  | ---------- | ------ | ------------------ | ----------------- |
71
- | `codometer` | no | no | no |
72
- | `codometer --check limits` | no | no | yes |
73
- | `codometer --check reports` | no | yes | no |
74
- | `codometer --check limits,reports` | no | yes | yes |
75
- | `codometer --output-json --output-markdown` | yes, both | no | no |
76
- | `codometer --output-json --check limits` | yes | no | yes, after writing |
73
+ | `codometer --config <path>` | no | no | no |
74
+ | `codometer --config <path> --check limits` | no | no | yes |
75
+ | `codometer --config <path> --check reports` | no | yes | no |
76
+ | `codometer --config <path> --check limits,reports` | no | yes | yes |
77
+ | `codometer --config <path> --output-json --output-markdown` | yes, both | no | no |
78
+ | `codometer --config <path> --output-json --check limits` | yes | no | yes, after writing |
77
79
 
78
80
  `--output-json`/`--output-markdown` passed **bare** write to whatever the
79
81
  resolved configuration's own `json`/`markdown` output declares, and are
@@ -103,7 +105,7 @@ changed at all. Check on the runtime the repository pins, or expect false
103
105
  staleness rather than a real finding.
104
106
 
105
107
  ```yaml
106
- - run: npx @codometer/cli --check reports,limits
108
+ - run: npx @codometer/cli --config codometer.config.ts --check reports,limits
107
109
  ```
108
110
 
109
111
  ## One folder at a time
@@ -114,14 +116,15 @@ measured — its own sources, and whatever inputs the configuration declares for
114
116
  it:
115
117
 
116
118
  ```bash
117
- cd projects/logging && codometer --check limits
119
+ cd projects/logging && codometer --config codometer.config.ts --check limits
118
120
  ```
119
121
 
120
- With no `--config`, the configuration is found by walking upward from that
121
- folder and taking the **first** file found. The nearest one wins outright:
122
- nothing from a further ancestor is folded into it, because a merged
122
+ The configuration is exactly the file `--config` names: nothing is searched
123
+ for, no ancestor's file is consulted, and nothing is merged, because a merged
123
124
  configuration leaves a limit that never applied looking exactly like one that
124
- did.
125
+ did. A relative path is resolved against the working directory, then the
126
+ repository root, so a task runner that sets the working directory to a project
127
+ can still name a workspace file; a path that names no file fails the run.
125
128
 
126
129
  A configuration file is always read as a plain object — one exported as a
127
130
  function is not recognized, and falls back to an empty configuration, the
@@ -273,7 +276,7 @@ A repository that declares its limits one per project has no single file left
273
276
  to read them from. `codometer configuration` is that reading:
274
277
 
275
278
  ```bash
276
- codometer configuration --limits
279
+ codometer configuration --limits --config projects/configuration/codometer.config.ts
277
280
  ```
278
281
 
279
282
  ```text
@@ -283,19 +286,18 @@ codometer configuration --limits
283
286
  ```
284
287
 
285
288
  It walks for every configuration file beneath the directory it is given — in
286
- any of the formats codometer accepts — and resolves each one **for its own
287
- folder**, so what it reports is what a per-project run actually sees. The walk
289
+ any of the formats codometer accepts — and resolves each one **by its own
290
+ path**, so what it reports is what a run naming that file actually sees. The walk
288
291
  honors the exclusions of whatever configuration answers for the directory being
289
292
  listed, so a configuration inside a dependency or a generator template is never
290
293
  listed as something the repository configures.
291
294
 
292
- **Name that configuration with `--config` where the directory has none of its
293
- own.** A workspace often states its shared configuration in a file every
294
- project spreads rather than at its own root, and the upward search then finds
295
- nothing:
295
+ **`--config <path>` is required here too.** It names the configuration whose
296
+ exclusions the walk honors — a workspace often states its shared configuration
297
+ in a file every project spreads rather than at its own root:
296
298
 
297
299
  ```bash
298
- codometer configuration --limits --config configuration/codometer.config.ts
300
+ codometer configuration --limits --config projects/configuration/codometer.config.ts
299
301
  ```
300
302
 
301
303
  Drop `--limits` to list everything each configuration resolved to: its inputs,
@@ -305,7 +307,7 @@ outputs and their custom statistics, exclusions, and Python command. Add
305
307
  It reports configuration and never measurement. No build is required and no
306
308
  limit is evaluated, so it runs in milliseconds — and no single unreadable file
307
309
  takes it down. A configuration file that cannot be loaded is listed as
308
- unreadable, and a walk root nothing answers for falls back to the built-in
310
+ unreadable, and a `--config` that cannot be loaded falls back to the built-in
309
311
  exclusions, says so at the top of the listing, and still reports every limit
310
312
  the tree declares. That last case exits 1 rather than 0: the listing is real,
311
313
  but the exclusions the repository declares were never consulted, and a clean
@@ -404,8 +406,8 @@ Passed with a path, that path is used for this run alone, whether or not the
404
406
  configuration declares an output of that kind:
405
407
 
406
408
  ```bash
407
- codometer --output-json # writes the configured json output's path
408
- codometer --output-json report.json # writes report.json instead, even with no json output configured
409
+ codometer --config <path> --output-json # writes the configured json output's path
410
+ codometer --config <path> --output-json report.json # writes report.json instead, even with no json output configured
409
411
  ```
410
412
 
411
413
  **`--format` falls back to the resolved configuration's own `format` field**
@@ -420,7 +422,7 @@ for the report and nothing else, whatever the configuration file also describes;
420
422
  its own destination and never turns another on.
421
423
 
422
424
  **Standard output carries the result; every diagnostic goes to standard error.**
423
- `codometer --format json > report.json` has to produce a file something can
425
+ `codometer --config <path> --format json > report.json` has to produce a file something can
424
426
  parse, so a log line never shares that stream — including the exclusion notice
425
427
  below, which is still on the console and still in front of a human, just not
426
428
  inside the data. Only `--format` ever writes to that stream: a file sink that
@@ -446,14 +448,14 @@ named `<!-- codometer:start -->
446
448
 
447
449
  ### Project
448
450
 
449
- ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-3608-22c55e?style=flat-square)
450
- ![Repository Size](https://img.shields.io/badge/Repository_Size-131.67_kB-6b7280?style=flat-square)
451
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-3680-22c55e?style=flat-square)
452
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-134.38_kB-6b7280?style=flat-square)
451
453
  ![Folders](https://img.shields.io/badge/Folders-6-4a4a4a?style=flat-square)
452
454
  ![Source Files](https://img.shields.io/badge/Source_Files-37-3178c6?style=flat-square)
453
455
 
454
456
  ### Measured Targets
455
457
 
456
- ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-6.29_kB_gzip-6b7280?style=flat-square)
458
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-6.32_kB_gzip-6b7280?style=flat-square)
457
459
 
458
460
  ### TypeScript
459
461
 
@@ -462,7 +464,7 @@ named `<!-- codometer:start -->
462
464
  ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-0-0369a1?style=flat-square)
463
465
  ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
464
466
  ![Decorators](https://img.shields.io/badge/Decorators-25-db2777?style=flat-square)
465
- ![Doc Comments](https://img.shields.io/badge/Doc_Comments-65-6366f1?style=flat-square)
467
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-66-6366f1?style=flat-square)
466
468
  ![Static Methods](https://img.shields.io/badge/Static_Methods-1-166534?style=flat-square)
467
469
 
468
470
  ### JavaScript
@@ -471,15 +473,15 @@ named `<!-- codometer:start -->
471
473
  ![Test Files](https://img.shields.io/badge/Test_Files-9-10b981?style=flat-square)
472
474
  ![External Packages](https://img.shields.io/badge/External_Packages-20-8b5cf6?style=flat-square)
473
475
  ![Classes](https://img.shields.io/badge/Classes-8-7c3aed?style=flat-square)
474
- ![Functions](https://img.shields.io/badge/Functions-178-16a34a?style=flat-square)
476
+ ![Functions](https://img.shields.io/badge/Functions-184-16a34a?style=flat-square)
475
477
  ![Methods](https://img.shields.io/badge/Methods-37-15803d?style=flat-square)
476
- ![Sync Functions](https://img.shields.io/badge/Sync_Functions-145-4ade80?style=flat-square)
477
- ![Async Functions](https://img.shields.io/badge/Async_Functions-70-059669?style=flat-square)
478
- ![Constants](https://img.shields.io/badge/Constants-124-dc2626?style=flat-square)
478
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-148-4ade80?style=flat-square)
479
+ ![Async Functions](https://img.shields.io/badge/Async_Functions-73-059669?style=flat-square)
480
+ ![Constants](https://img.shields.io/badge/Constants-128-dc2626?style=flat-square)
479
481
  ![Imports](https://img.shields.io/badge/Imports-142-0284c7?style=flat-square)
480
482
  ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-25-ea580c?style=flat-square)
481
- ![Comments](https://img.shields.io/badge/Comments-148-64748b?style=flat-square)
482
- ![Comment Lines](https://img.shields.io/badge/Comment_Lines-361-475569?style=flat-square)
483
+ ![Comments](https://img.shields.io/badge/Comments-151-64748b?style=flat-square)
484
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-362-475569?style=flat-square)
483
485
  ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)
484
486
 
485
487
  ### Python
@@ -635,20 +637,20 @@ named `<!-- codometer:start -->
635
637
  ### Markdown
636
638
 
637
639
  ![Markdown Files](https://img.shields.io/badge/Markdown_Files-2-083fa1?style=flat-square)
638
- ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-492-1f6feb?style=flat-square)
640
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-514-1f6feb?style=flat-square)
639
641
  ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
640
- ![H2](https://img.shields.io/badge/H2-32-8b5cf6?style=flat-square)
641
- ![H3](https://img.shields.io/badge/H3-45-a78bfa?style=flat-square)
642
+ ![H2](https://img.shields.io/badge/H2-34-8b5cf6?style=flat-square)
643
+ ![H3](https://img.shields.io/badge/H3-48-a78bfa?style=flat-square)
642
644
  ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
643
645
  ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
644
646
  ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
645
- ![Paragraphs](https://img.shields.io/badge/Paragraphs-152-64748b?style=flat-square)
646
- ![Lists](https://img.shields.io/badge/Lists-37-16a34a?style=flat-square)
647
- ![List Items](https://img.shields.io/badge/List_Items-131-22c55e?style=flat-square)
647
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-161-64748b?style=flat-square)
648
+ ![Lists](https://img.shields.io/badge/Lists-40-16a34a?style=flat-square)
649
+ ![List Items](https://img.shields.io/badge/List_Items-140-22c55e?style=flat-square)
648
650
  ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
649
651
  ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
650
652
  ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
651
- ![Links](https://img.shields.io/badge/Links-19-059669?style=flat-square)
653
+ ![Links](https://img.shields.io/badge/Links-20-059669?style=flat-square)
652
654
  ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
653
655
  ![Code Blocks](https://img.shields.io/badge/Code_Blocks-13-dc2626?style=flat-square)
654
656
  ![Inline Code](https://img.shields.io/badge/Inline_Code-78-ef4444?style=flat-square)
@@ -775,7 +777,7 @@ passing verdict.
775
777
  A failure is neither a breach nor staleness: it is the run not having finished.
776
778
  Every one of them is collected and reported together, so a configuration with
777
779
  three broken limits is one run to diagnose rather than three. A failure fails
778
- any run that writes or gates; a bare run reports it and exits clean, exactly as
780
+ any run that writes or gates; a run that neither writes nor gates reports it and exits clean, exactly as
779
781
  the flag table promises.
780
782
 
781
783
  ## Packages
@@ -851,7 +853,7 @@ Call stacks traced through `projects/ic-suite/codometer/codometer-cli`, deepest
851
853
  | --- | --- |
852
854
  | Callables | 41 |
853
855
  | Files | 24 |
854
- | Calls traced | 45 |
856
+ | Calls traced | 47 |
855
857
  | Call stacks | 11 |
856
858
  | Deepest stack | 15 |
857
859
  | Stacks through recursion | 0 |
@@ -871,7 +873,7 @@ What this project is judged against, as declared in its own `callidescope.config
871
873
  **1. `MeasureCommand.run`** — depth ≥ 15 · decorated-method
872
874
 
873
875
  ```text
874
- 🚀 MeasureCommand.run(_passedParameters: string[], options: MeasureCommandOptions): Promise<void> [projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:398]
876
+ 🚀 MeasureCommand.run(_passedParameters: string[], options: MeasureCommandOptions): Promise<void> [projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:402]
875
877
  ↳ Measure the repository and produce every resolved output.
876
878
  └─> MeasureService.measure(args: MeasureArguments): MeasurementResult [projects/ic-suite/codometer/codometer-measurement/src/modules/measure/measure.service.ts:312]
877
879
  ↳ Measure every input the configuration declares.
@@ -903,17 +905,17 @@ What this project is judged against, as declared in its own `callidescope.config
903
905
  **2. `ConfigurationCommand.run`** — depth ≥ 12 · decorated-method
904
906
 
905
907
  ```text
906
- 🚀 ConfigurationCommand.run(…): Promise<void> [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:110]
908
+ 🚀 ConfigurationCommand.run(…): Promise<void> [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:107]
907
909
  ↳ Lists what the tree beneath the given directory configures.
908
- └─> ConfigurationListingService.describeConfigurations(args: DescribeConfigurationsArguments): Promise<ConfiguredTree> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:155]
910
+ └─> ConfigurationListingService.describeConfigurations(args: DescribeConfigurationsArguments): Promise<ConfiguredTree> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:146]
909
911
  ↳ Resolves the configuration each file in a tree answers with.
910
- └─> ConfigurationListingService.findConfigurationFiles(args: DescribeConfigurationsArguments): Promise<DiscoveredConfigurationFiles> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:188]
912
+ └─> ConfigurationListingService.findConfigurationFiles(args: DescribeConfigurationsArguments): Promise<DiscoveredConfigurationFiles> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:179]
911
913
  ↳ Finds every configuration file beneath a directory.
912
- └─> ConfigurationListingService.resolveWalkExclusions(args: DescribeConfigurationsArguments): Promise<WalkExclusions> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:120]
914
+ └─> ConfigurationListingService.resolveWalkExclusions(args: DescribeConfigurationsArguments): Promise<WalkExclusions> [projects/ic-suite/codometer/codometer-output/src/modules/configuration-listing/configuration-listing.service.ts:115]
913
915
  ↳ Resolves the exclusions the walk uses, reporting rather than throwing.
914
- └─> ConfigurationService.loadConfigurationFile(args?: LoadConfigurationArguments): Promise<LoadedConfiguration> [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:85]
916
+ └─> ConfigurationService.loadConfigurationFile(args: LoadConfigurationArguments): Promise<LoadedConfiguration> [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:78]
915
917
  ↳ Loads a configuration and says which file answered.
916
- └─> ConfigurationService.resolveConfiguration(configuration: CodometerConfiguration): ResolvedCodometerConfiguration [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:130]
918
+ └─> ConfigurationService.resolveConfiguration(configuration: CodometerConfiguration): ResolvedCodometerConfiguration [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:123]
917
919
  ↳ Fills in every field a configuration file may leave out.
918
920
  └─> ConfigurationResolverService.resolveConfiguration(configuration: CodometerConfiguration): ResolvedCodometerConfiguration [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-resolver.service.ts:336]
919
921
  ↳ Fills in every field a configuration file may leave out.
@@ -958,41 +960,41 @@ What this project is judged against, as declared in its own `callidescope.config
958
960
  ```text
959
961
  🚀 ChangesCommand.parseDirectory(value: unknown): string [projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:70]
960
962
  ↳ Parse the directory to look for codometer reports in.
961
- └─> ConfigurationService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:120]
963
+ └─> ConfigurationService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:102]
962
964
  ↳ Reads a directory option, falling back to the working directory.
963
- └─> ConfigurationFlagsService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:126]
965
+ └─> ConfigurationFlagsService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:127]
964
966
  ↳ Reads a directory option, falling back to the working directory.
965
- └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:115]
967
+ └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:116]
966
968
  ↳ Reads an option that carries a default when it was left off.
967
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
969
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
968
970
  ↳ Reads an option that carries text, or nothing at all.
969
971
  ```
970
972
 
971
973
  **5. `ConfigurationCommand.parseDirectory`** — depth 5 · decorated-method
972
974
 
973
975
  ```text
974
- 🚀 ConfigurationCommand.parseDirectory(value: unknown): string [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:74]
976
+ 🚀 ConfigurationCommand.parseDirectory(value: unknown): string [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:71]
975
977
  ↳ Parse the directory to look for configuration files beneath.
976
- └─> ConfigurationService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:120]
978
+ └─> ConfigurationService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:102]
977
979
  ↳ Reads a directory option, falling back to the working directory.
978
- └─> ConfigurationFlagsService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:126]
980
+ └─> ConfigurationFlagsService.parseDirectoryOption(value: unknown): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:127]
979
981
  ↳ Reads a directory option, falling back to the working directory.
980
- └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:115]
982
+ └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:116]
981
983
  ↳ Reads an option that carries a default when it was left off.
982
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
984
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
983
985
  ↳ Reads an option that carries text, or nothing at all.
984
986
  ```
985
987
 
986
988
  **6. `ConfigurationCommand.parseFormat`** — depth 4 · decorated-method
987
989
 
988
990
  ```text
989
- 🚀 ConfigurationCommand.parseFormat(value: unknown): string [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:83]
991
+ 🚀 ConfigurationCommand.parseFormat(value: unknown): string [projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:80]
990
992
  ↳ Parse the output format the listing is rendered in.
991
- └─> ConfigurationService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:115]
993
+ └─> ConfigurationService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:97]
992
994
  ↳ Reads an option that carries a default when it was left off.
993
- └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:115]
995
+ └─> ConfigurationFlagsService.parseDefaultedOption(value: unknown, fallback: string): string [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:116]
994
996
  ↳ Reads an option that carries a default when it was left off.
995
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
997
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
996
998
  ↳ Reads an option that carries text, or nothing at all.
997
999
  ```
998
1000
 
@@ -1001,9 +1003,9 @@ What this project is judged against, as declared in its own `callidescope.config
1001
1003
  ```text
1002
1004
  🚀 ChangesCommand.parseBaseline(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:52]
1003
1005
  ↳ Parse the baseline directory holding a snapshot of the reports.
1004
- └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:125]
1006
+ └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:107]
1005
1007
  ↳ Reads an option that carries text, or nothing at all.
1006
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
1008
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
1007
1009
  ↳ Reads an option that carries text, or nothing at all.
1008
1010
  ```
1009
1011
 
@@ -1012,9 +1014,9 @@ What this project is judged against, as declared in its own `callidescope.config
1012
1014
  ```text
1013
1015
  🚀 ChangesCommand.parseBaselineUrl(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:61]
1014
1016
  ↳ Parse the run URL the baseline came from, linked from the summary.
1015
- └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:125]
1017
+ └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:107]
1016
1018
  ↳ Reads an option that carries text, or nothing at all.
1017
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
1019
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
1018
1020
  ↳ Reads an option that carries text, or nothing at all.
1019
1021
  ```
1020
1022
 
@@ -1023,9 +1025,9 @@ What this project is judged against, as declared in its own `callidescope.config
1023
1025
  ```text
1024
1026
  🚀 ChangesCommand.parseMarkdown(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:79]
1025
1027
  ↳ Parse the markdown document the report is spliced into.
1026
- └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:125]
1028
+ └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:107]
1027
1029
  ↳ Reads an option that carries text, or nothing at all.
1028
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
1030
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
1029
1031
  ↳ Reads an option that carries text, or nothing at all.
1030
1032
  ```
1031
1033
 
@@ -1034,9 +1036,9 @@ What this project is judged against, as declared in its own `callidescope.config
1034
1036
  ```text
1035
1037
  🚀 ChangesCommand.parseOutput(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:88]
1036
1038
  ↳ Parse the file the report is written to on its own.
1037
- └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:125]
1039
+ └─> ConfigurationService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration.service.ts:107]
1038
1040
  ↳ Reads an option that carries text, or nothing at all.
1039
- └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:142]
1041
+ └─> ConfigurationFlagsService.parseOptionalOption(value: unknown): string | undefined [projects/ic-suite/codometer/codometer-configuration/src/modules/configuration/configuration-flags.service.ts:143]
1040
1042
  ↳ Reads an option that carries text, or nothing at all.
1041
1043
  ```
1042
1044
 
@@ -1055,8 +1057,8 @@ What this project is judged against, as declared in its own `callidescope.config
1055
1057
 
1056
1058
  | Callable | Breadth | Calls directly | Location |
1057
1059
  | --- | --- | --- | --- |
1058
- | `MeasureCommand.run` | 9 | `MeasureCommand.resolveWorkingDirectory`, `MeasureCommand.resolveRunPlan`, `DestinationsService.listOutputPaths`, `MeasureCommand.announceOutputPaths`, `MeasureService.measure`, `ReportService.build`, `DeliveryService.deliver`, `DestinationsService.selectScope`, `MeasureCommand.reportFindings` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:398` |
1059
- | `MeasureCommand.resolveRunPlan` | 7 | `ConfigurationService.selectMode`, `MeasureCommand.rejectCommandLine`, `MeasureCommand.readConfiguration`, `MeasureCommand.applyInputsOverride`, `ConfigurationService.resolveFormat`, `DestinationsService.resolveDestinations`, `DestinationsService.resolveConsoleMarkdown` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:226` |
1060
+ | `MeasureCommand.run` | 9 | `MeasureCommand.resolveWorkingDirectory`, `MeasureCommand.resolveRunPlan`, `DestinationsService.listOutputPaths`, `MeasureCommand.announceOutputPaths`, `MeasureService.measure`, `ReportService.build`, `DeliveryService.deliver`, `DestinationsService.selectScope`, `MeasureCommand.reportFindings` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:402` |
1061
+ | `MeasureCommand.resolveRunPlan` | 7 | `ConfigurationService.selectMode`, `MeasureCommand.rejectCommandLine`, `MeasureCommand.readConfiguration`, `MeasureCommand.applyInputsOverride`, `ConfigurationService.resolveFormat`, `DestinationsService.resolveDestinations`, `DestinationsService.resolveConsoleMarkdown` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:229` |
1060
1062
  | `ChangesCommand.run` | 5 | `ConfigurationService.parseOptionalOption`, `ConfigurationService.parseDirectoryOption`, `ChangesService.collect`, `RenderService.renderSection`, `DocumentsService.emit` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:97` |
1061
1063
 
1062
1064
  <details>
@@ -1064,17 +1066,17 @@ What this project is judged against, as declared in its own `callidescope.config
1064
1066
 
1065
1067
  | Callable | Breadth | Calls directly | Location |
1066
1068
  | --- | --- | --- | --- |
1067
- | `ConfigurationCommand.run` | 4 | `ConfigurationListingService.describeConfigurations`, `ConfigurationCommand.filter(…)`, `RenderConfigurationService.render`, `ConfigurationListingService.toLimitRows` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:110` |
1068
- | `MeasureCommand.reportFindings` | 4 | `MeasureCommand.reportFailures`, `MeasureCommand.reportStaleness`, `MeasureCommand.reportBreaches`, `MeasureCommand.filter(…)` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:189` |
1069
- | `MeasureCommand.reportBreaches` | 3 | `MeasureCommand.filter(…)`, `MeasureCommand.filter(…)`, `MeasureCommand.filter(…)` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:142` |
1069
+ | `ConfigurationCommand.run` | 5 | `ConfigurationService.requireConfigurationPath`, `ConfigurationListingService.describeConfigurations`, `ConfigurationCommand.filter(…)`, `RenderConfigurationService.render`, `ConfigurationListingService.toLimitRows` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:107` |
1070
+ | `MeasureCommand.reportFindings` | 4 | `MeasureCommand.reportFailures`, `MeasureCommand.reportStaleness`, `MeasureCommand.reportBreaches`, `MeasureCommand.filter(…)` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:192` |
1071
+ | `MeasureCommand.reportBreaches` | 3 | `MeasureCommand.filter(…)`, `MeasureCommand.filter(…)`, `MeasureCommand.filter(…)` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:145` |
1072
+ | `MeasureCommand.readConfiguration` | 2 | `ConfigurationService.requireConfigurationPath`, `ConfigurationService.loadConfiguration` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:110` |
1070
1073
  | `ChangesCommand.parseBaseline` | 1 | `ConfigurationService.parseOptionalOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:52` |
1071
1074
  | `ChangesCommand.parseBaselineUrl` | 1 | `ConfigurationService.parseOptionalOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:61` |
1072
1075
  | `ChangesCommand.parseDirectory` | 1 | `ConfigurationService.parseDirectoryOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:70` |
1073
1076
  | `ChangesCommand.parseMarkdown` | 1 | `ConfigurationService.parseOptionalOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:79` |
1074
1077
  | `ChangesCommand.parseOutput` | 1 | `ConfigurationService.parseOptionalOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/changes/changes.command.ts:88` |
1075
- | `ConfigurationCommand.parseDirectory` | 1 | `ConfigurationService.parseDirectoryOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:74` |
1076
- | `ConfigurationCommand.parseFormat` | 1 | `ConfigurationService.parseDefaultedOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:83` |
1077
- | `MeasureCommand.readConfiguration` | 1 | `ConfigurationService.loadConfiguration` | `projects/ic-suite/codometer/codometer-cli/src/modules/measure/measure.command.ts:111` |
1078
+ | `ConfigurationCommand.parseDirectory` | 1 | `ConfigurationService.parseDirectoryOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:71` |
1079
+ | `ConfigurationCommand.parseFormat` | 1 | `ConfigurationService.parseDefaultedOption` | `projects/ic-suite/codometer/codometer-cli/src/modules/configuration/configuration.command.ts:80` |
1078
1080
  | `main` | 1 | `withDefaultCommand` | `projects/ic-suite/codometer/codometer-cli/src/codometer-cli.main.ts:26` |
1079
1081
 
1080
1082
  </details>
@@ -344,32 +344,33 @@ var G = ["json", "markdown"], K = "markdown", q, J = q = class ConfigurationComm
344
344
  async run(e, t = {}) {
345
345
  let n = t.format ?? "markdown";
346
346
  if (!G.includes(n)) throw Error(`--format does not accept "${n}". It takes one of ${G.join(" and ")}.`);
347
- let r = u.resolve(t.directory ?? process.cwd()), { described: i, rootError: a } = await this.configurationService.describeConfigurations({
348
- configurationPath: t.config,
349
- workingDirectory: r
347
+ let r = this.codometerConfigurationService.requireConfigurationPath(t.config, "--config"), i = u.resolve(t.directory ?? process.cwd()), { described: a, rootError: o } = await this.configurationService.describeConfigurations({
348
+ configurationPath: r,
349
+ workingDirectory: i
350
350
  });
351
351
  this.logger.info("🔧 Listed the codometer configuration", void 0, {
352
- configurationCount: i.length,
353
- unreadableCount: i.filter((e) => e.error !== void 0).length
354
- }), a !== void 0 && (this.logger.error("🔧 Found no configuration answering for the walk root", void 0, { reason: a }), process.exitCode = 1);
355
- let o = this.renderConfigurationService.render({
356
- described: i,
352
+ configurationCount: a.length,
353
+ unreadableCount: a.filter((e) => e.error !== void 0).length
354
+ }), o !== void 0 && (this.logger.error("🔧 Found no configuration answering for the walk root", void 0, { reason: o }), process.exitCode = 1);
355
+ let s = this.renderConfigurationService.render({
356
+ described: a,
357
357
  format: n,
358
- limitRows: this.configurationService.toLimitRows(i),
358
+ limitRows: this.configurationService.toLimitRows(a),
359
359
  limitsOnly: t.limits === !0,
360
- rootError: a
360
+ rootError: o
361
361
  });
362
- process.stdout.write(`${o}\n`);
362
+ process.stdout.write(`${s}\n`);
363
363
  }
364
364
  };
365
365
  __decorate([
366
366
  n({
367
- description: "Path to the configuration file answering for the directory being listed",
368
- flags: "--config [config]"
367
+ description: "Path to the configuration file answering for the directory being listed (required)",
368
+ flags: "--config <config>",
369
+ required: !0
369
370
  }),
370
371
  __decorateMetadata("design:type", Function),
371
- __decorateMetadata("design:paramtypes", [Object]),
372
- __decorateMetadata("design:returntype", Object)
372
+ __decorateMetadata("design:paramtypes", [String]),
373
+ __decorateMetadata("design:returntype", String)
373
374
  ], J.prototype, "parseConfig", null), __decorate([
374
375
  n({
375
376
  description: "Directory to look for configuration files beneath",
@@ -444,13 +445,10 @@ var X, Z = X = class MeasureCommand extends t {
444
445
  }]
445
446
  };
446
447
  }
447
- async readConfiguration(e, t) {
448
+ async readConfiguration(e) {
448
449
  try {
449
- let n = await this.configurationService.loadConfiguration({
450
- configurationPath: e.config,
451
- searchDirectory: t
452
- });
453
- return this.logger.debug("🗂️ Loaded the configuration", void 0, { configuredPath: e.config }), n;
450
+ let t = this.configurationService.requireConfigurationPath(e.config, "--config"), n = await this.configurationService.loadConfiguration({ configurationPath: t });
451
+ return this.logger.debug("🗂️ Loaded the configuration", void 0, { configuredPath: t }), n;
454
452
  } catch (e) {
455
453
  this.logger.error("📊 Rejected the configuration", void 0, { reason: e instanceof Error ? e.message : String(e) }), process.exitCode = 1;
456
454
  return;
@@ -482,7 +480,7 @@ var X, Z = X = class MeasureCommand extends t {
482
480
  this.rejectCommandLine(n);
483
481
  return;
484
482
  }
485
- let i = await this.readConfiguration(e, t);
483
+ let i = await this.readConfiguration(e);
486
484
  if (i === void 0) return;
487
485
  let a = this.applyInputsOverride(i, e.inputs), o = [], s = this.configurationService.resolveFormat(e.format, a.format, o), { destinations: c, errors: l } = this.destinationsService.resolveDestinations({
488
486
  configuration: a,
@@ -562,12 +560,13 @@ __decorate([
562
560
  __decorateMetadata("design:returntype", String)
563
561
  ], Z.prototype, "parseCheck", null), __decorate([
564
562
  n({
565
- description: "Path to the codometer configuration file",
566
- flags: "--config [config]"
563
+ description: "Path to the codometer configuration file (required)",
564
+ flags: "--config <config>",
565
+ required: !0
567
566
  }),
568
567
  __decorateMetadata("design:type", Function),
569
- __decorateMetadata("design:paramtypes", [Object]),
570
- __decorateMetadata("design:returntype", Object)
568
+ __decorateMetadata("design:paramtypes", [String]),
569
+ __decorateMetadata("design:returntype", String)
571
570
  ], Z.prototype, "parseConfig", null), __decorate([
572
571
  n({
573
572
  description: `What to print to standard output, one of ${m.join(" and ")}`,
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { c as e, t } from "../codometer-cli.module-CB9I6zxo.js";
2
+ import { c as e, t } from "../codometer-cli.module-CzcXl7Xf.js";
3
3
  import "reflect-metadata";
4
4
  import { CommandFactory as n } from "nest-commander";
5
5
  //#region projects/ic-suite/codometer/codometer-cli/src/codometer-cli.utilities.ts
@@ -83,15 +83,11 @@ export declare class ConfigurationCommand extends CommandRunner {
83
83
  private readonly logger;
84
84
  constructor(codometerConfigurationService: ConfigurationService, configurationService: ConfigurationListingService, renderConfigurationService: RenderConfigurationService, logger: LoggerService);
85
85
  /**
86
- * Parse the configuration file answering for the walk root.
86
+ * Parse the required configuration file answering for the walk root.
87
87
  *
88
- * The exclusions the walk uses come from whatever configuration answers for
89
- * the directory being listed, and a workspace stating its shared object
90
- * somewhere every project spreads it from has nothing at its own root for
91
- * the upward search to find — so it names that file here, the same way its
92
- * measurement target already does.
88
+ * The exclusions the walk uses come from this file; nothing is searched for.
93
89
  */
94
- parseConfig(value: string | undefined): string | undefined;
90
+ parseConfig(value: string): string;
95
91
  /** Parse the directory to look for configuration files beneath. */
96
92
  parseDirectory(value: unknown): string;
97
93
  /** Parse the output format the listing is rendered in. */
@@ -502,12 +498,11 @@ export declare class MeasureCommand extends CommandRunner {
502
498
  /**
503
499
  * Read the configuration, or say why it could not be read.
504
500
  *
505
- * A configuration nothing can parse fails the run rather than being taken as
506
- * an empty one, and so does a directory with no configuration file anywhere
507
- * above it: `format` is required with no code-level fallback, so an absent
508
- * file fails on the missing `format` exactly as a file that forgot to write
509
- * one does. A shared default object, spread by each project's own
510
- * `codometer.config.ts`, is what states it once for a workspace.
501
+ * `--config` is required: no file is searched for and none is assumed, so a
502
+ * run without it fails naming the flag, and so does a path that names no
503
+ * file or a configuration nothing can parse. A shared default object,
504
+ * spread by each project's own `codometer.config.ts`, is what states
505
+ * `format` once for a workspace.
511
506
  */
512
507
  private readConfiguration;
513
508
  /** Says the command line could not be made sense of, and fails the run. */
@@ -555,9 +550,12 @@ export declare class MeasureCommand extends CommandRunner {
555
550
  */
556
551
  parseCheck(value: string): string;
557
552
  /**
558
- * Parse the optional configuration path from command-line input.
553
+ * Parse the required configuration path from command-line input.
554
+ *
555
+ * Marked required so the command line itself refuses a run without it and
556
+ * `--help` lists it as mandatory.
559
557
  */
560
- parseConfig(value: string | undefined): string | undefined;
558
+ parseConfig(value: string): string;
561
559
  /**
562
560
  * Parse what the run prints from command-line input.
563
561
  *
package/dist/src/index.js CHANGED
@@ -1 +1 @@
1
- export { s as ChangesCommand, o as ChangesModule, a as ConfigurationCommand, i as ConfigurationModule, t as MainModule, r as MeasureCommand, n as MeasureModule } from "../codometer-cli.module-CB9I6zxo.js";
1
+ export { s as ChangesCommand, o as ChangesModule, a as ConfigurationCommand, i as ConfigurationModule, t as MainModule, r as MeasureCommand, n as MeasureModule } from "../codometer-cli.module-CzcXl7Xf.js";
package/package.json CHANGED
@@ -7,10 +7,10 @@
7
7
  "url": "https://github.com/organizzolini/codebase/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@codometer/configuration": "0.0.28",
11
- "@codometer/core": "0.0.28",
12
- "@codometer/measurement": "0.0.28",
13
- "@codometer/output": "0.0.28",
10
+ "@codometer/configuration": "0.0.30",
11
+ "@codometer/core": "0.0.30",
12
+ "@codometer/measurement": "0.0.30",
13
+ "@codometer/output": "0.0.30",
14
14
  "@nestjs/common": "^11.1.21 || ^12.0.1",
15
15
  "@nestjs/config": "^12.0.0",
16
16
  "@nestjs/core": "^11.1.21 || ^12.0.1",
@@ -75,5 +75,5 @@
75
75
  "strict": true
76
76
  },
77
77
  "types": "./dist/src/index.d.ts",
78
- "version": "0.0.29"
78
+ "version": "0.0.31"
79
79
  }