@codependix/cli 0.0.15 โ†’ 0.0.16

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,16 @@
1
+ ## 0.0.16 (2026-10-13)
2
+
3
+ ### ๐Ÿš€ Features
4
+
5
+ - **codependix:** โœจ infer a per-project codependix-gate target from a new nx plugin ([#1429](https://github.com/organizzolini/codebase/pull/1429), [#1403](https://github.com/organizzolini/codebase/issues/1403))
6
+
7
+ ### ๐Ÿงฑ Updated Dependencies
8
+
9
+ - Updated codependix-configuration to 0.0.16
10
+ - Updated codependix-boundaries to 0.0.15
11
+ - Updated codependix-output to 0.0.15
12
+ - Updated codependix-core to 0.0.14
13
+
1
14
  ## 0.0.15 (2026-10-12)
2
15
 
3
16
  ### ๐Ÿงฑ Updated Dependencies
package/README.md CHANGED
@@ -62,10 +62,11 @@ on opposite sides of a pull request.
62
62
  | `reports` | A configured destination no longer holding what a fresh run would write |
63
63
 
64
64
  A boundary violation is caused by the branch and fixed by the branch, so it
65
- gates every pull request. A stale export moves with the workspace it
66
- describes and would fail every branch that changed a project graph rather
67
- than anything the branch itself did, so it is published on the default branch
68
- and gated nowhere. That is the same split
65
+ gates every pull request, one project at a time โ€” see
66
+ [The per-project gate](#the-per-project-gate). A stale export moves with the
67
+ workspace it describes and would fail every branch that changed a project
68
+ graph rather than anything the branch itself did, so it is published on the
69
+ default branch and gated nowhere. That is the same split
69
70
  [`callidescope`](../callidescope-cli/README.md) makes between `--check depth`
70
71
  and `--check reports`, and `reports` is deliberately spelled the same in both:
71
72
  it is the same finding, and two names for it would make the two reports
@@ -118,8 +119,13 @@ reported the same way, as a rejected command line rather than a crash.
118
119
  No mode is ever inferred, which is the rule `codometer`'s and
119
120
  `callidescope`'s flags follow too.
120
121
 
122
+ In an Nx workspace the gate is a per-project `codependix-gate` target, and
123
+ publishing is the one workspace-wide `write` run. This repository's `guard-code`
124
+ reaches the first on every pull request, and its release workflow runs the
125
+ second on the default branch:
126
+
121
127
  ```bash
122
- nx run codebase:codependix:check
128
+ nx run <project>:codependix-gate
123
129
  nx run codebase:codependix:write
124
130
  ```
125
131
 
@@ -128,6 +134,21 @@ boot its container โ€” is reported and does not stop the rest: `--write` either
128
134
  fully succeeds or names exactly which projects failed while still completing
129
135
  every other one.
130
136
 
137
+ ### The per-project gate
138
+
139
+ `--check boundaries --projects <name>` is a gate for one project, and needs no
140
+ task runner. [`@codependix/nx`](../codependix-nx/README.md) infers it for an
141
+ Nx workspace as a cached `codependix-gate` target on every project but the
142
+ workspace root, so `nx affected -t codependix-gate` selects the projects a
143
+ change touched and a failure names the project it is charged to rather than
144
+ one workspace-wide task. The target declares no configurations, so
145
+ `guard-code --configuration=check` falls through to its defaults, as
146
+ `callidescope-gate` does.
147
+
148
+ Publishing stays workspace-wide: one `--write` run produces every project's
149
+ anchor blocks, which must reflect one commit, so `codebase:codependix` is
150
+ `write`-only and is not part of `guard-code`.
151
+
131
152
  ### Where the output goes
132
153
 
133
154
  Printing and delivering are separate. `--format` decides what reaches standard
@@ -173,6 +194,7 @@ and [a container that cannot boot](../codependix-examples/examples/boundary-boot
173
194
  | [`@codependix/boundaries`](../codependix-boundaries/README.md) | Builds each level's graph for a workspace, judges it against the declared rules, and reports what breaks them. `--check boundaries` delegates to it wholesale |
174
195
  | [`@codependix/configuration`](../codependix-configuration/README.md) | Reads `codependix.config.ts` and resolves per-project export destinations and boundary rules |
175
196
  | [`@codependix/examples`](../codependix-examples/README.md) | Twenty-one subjects built to be graphed, each with the guide codependix renders from it |
197
+ | [`@codependix/nx`](../codependix-nx/README.md) | Nx plugin: infers a per-project `codependix-gate` target that runs `--check boundaries` over the project and its Nx dependencies |
176
198
  | [`@codependix/nx-projects`](../codependix-nx-projects/README.md) | Builds a project's Nx Neighborhood and the whole-workspace Workspace Graph |
177
199
  | [`@codependix/nestjs-modules`](../codependix-nestjs-modules/README.md) | Explores a NestJS project's container and builds its module graph |
178
200
  | [`@codependix/file-imports`](../codependix-file-imports/README.md) | Builds a project's file-level import graph โ€” a `typescript` module walking its own `ts.Program`, and a `python` module parsing `import`/`from ... import` statements |
@@ -233,6 +255,7 @@ graph LR
233
255
  codependix_configuration["codependix-configuration"]
234
256
  codependix_core["codependix-core"]
235
257
  codependix_examples["codependix-examples"]
258
+ codependix_nx["codependix-nx"]
236
259
  codependix_output["codependix-output"]
237
260
  logging["logging"]
238
261
  codependix_cli --> codependix_boundaries
@@ -241,6 +264,7 @@ graph LR
241
264
  codependix_cli --> codependix_output
242
265
  codependix_cli --> logging
243
266
  codependix_examples -.-> codependix_cli
267
+ codependix_nx --> codependix_cli
244
268
  classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
245
269
  class codependix_cli subject
246
270
  ```
@@ -415,9 +439,9 @@ Call stacks traced through `packages/ic-suite/codependix/codependix-cli`, deepes
415
439
 
416
440
  | Measure | Value |
417
441
  | --- | --- |
418
- | Callables | 47 |
442
+ | Callables | 42 |
419
443
  | Files | 19 |
420
- | Calls traced | 39 |
444
+ | Calls traced | 37 |
421
445
  | Call stacks | 19 |
422
446
  | Deepest stack | 15 |
423
447
  | Stacks through recursion | 0 |
@@ -437,11 +461,11 @@ What this project is judged against, as declared in its own `callidescope.config
437
461
  **1. `MapCommand.run`** โ€” depth โ‰ฅ 15 ยท decorated-method
438
462
 
439
463
  ```text
440
- ๐Ÿš€ MapCommand.run(_passedParameters: string[], options?: MapCommandOptions): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:445]
464
+ ๐Ÿš€ MapCommand.run(_passedParameters: string[], options?: MapCommandOptions): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:377]
441
465
  โ†ณ Runs whatever the command line asked for: exports, boundaries, or both.
442
- โ””โ”€> MapCommand.runMode(โ€ฆ): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:163]
466
+ โ””โ”€> MapCommand.runMode(โ€ฆ): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:125]
443
467
  โ†ณ Runs the passes a resolved mode selected, and reports what they found.
444
- โ””โ”€> MapCommand.runExports(context: GraphRunContext): Promise<MapRunResult> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:144]
468
+ โ””โ”€> MapCommand.runExports(context: GraphRunContext): Promise<MapRunResult> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:106]
445
469
  โ†ณ Runs the export pass, warning when nothing was selected.
446
470
  โ””โ”€> GraphRunService.run(context: GraphRunContext): Promise<MapRunResult> [packages/ic-suite/codependix/codependix-output/src/modules/graph-run/graph-run.service.ts:144]
447
471
  โ†ณ Runs every configured graph export against an already-resolved context.
@@ -496,9 +520,9 @@ What this project is judged against, as declared in its own `callidescope.config
496
520
  **3. `MapCommand.parseDirectory`** โ€” depth 4 ยท decorated-method
497
521
 
498
522
  ```text
499
- ๐Ÿš€ MapCommand.parseDirectory(value: string | undefined): string [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:244]
523
+ ๐Ÿš€ MapCommand.parseDirectory(value: string | undefined): string [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:191]
500
524
  โ†ณ Parses the directory whose Nx workspace this run reads.
501
- โ””โ”€> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:296]
525
+ โ””โ”€> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:294]
502
526
  โ†ณ Parses a path option that falls back to the working directory.
503
527
  โ””โ”€> InputService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:87]
504
528
  โ†ณ Parses a path option that falls back to the working directory.
@@ -512,9 +536,9 @@ What this project is judged against, as declared in its own `callidescope.config
512
536
  **4. `MapCommand.parseExclude`** โ€” depth 4 ยท decorated-method
513
537
 
514
538
  ```text
515
- ๐Ÿš€ MapCommand.parseExclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:260]
539
+ ๐Ÿš€ MapCommand.parseExclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:207]
516
540
  โ†ณ Parses `--exclude`, a comma-separated list of globs overriding the configured `exclude`.
517
- โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:281]
541
+ โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
518
542
  โ†ณ Parses a comma-separated list option, dropping blank entries.
519
543
  โ””โ”€> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
520
544
  โ†ณ Parses a comma-separated list option, dropping blank entries.
@@ -524,9 +548,9 @@ What this project is judged against, as declared in its own `callidescope.config
524
548
  **5. `MapCommand.parseInclude`** โ€” depth 4 ยท decorated-method
525
549
 
526
550
  ```text
527
- ๐Ÿš€ MapCommand.parseInclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:299]
551
+ ๐Ÿš€ MapCommand.parseInclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:246]
528
552
  โ†ณ Parses `--include`, a comma-separated list of globs overriding the configured `include`.
529
- โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:281]
553
+ โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
530
554
  โ†ณ Parses a comma-separated list option, dropping blank entries.
531
555
  โ””โ”€> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
532
556
  โ†ณ Parses a comma-separated list option, dropping blank entries.
@@ -538,7 +562,7 @@ What this project is judged against, as declared in its own `callidescope.config
538
562
  ```text
539
563
  ๐Ÿš€ PathCommand.parseDirectory(value: string | undefined): string [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:98]
540
564
  โ†ณ Parses the directory whose Nx workspace this run reads.
541
- โ””โ”€> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:296]
565
+ โ””โ”€> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:294]
542
566
  โ†ณ Parses a path option that falls back to the working directory.
543
567
  โ””โ”€> InputService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:87]
544
568
  โ†ณ Parses a path option that falls back to the working directory.
@@ -551,7 +575,7 @@ What this project is judged against, as declared in its own `callidescope.config
551
575
  ```text
552
576
  ๐Ÿš€ PathCommand.parseExclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:107]
553
577
  โ†ณ Parses `--exclude`, a comma-separated list of globs overriding the configured `exclude`.
554
- โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:281]
578
+ โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
555
579
  โ†ณ Parses a comma-separated list option, dropping blank entries.
556
580
  โ””โ”€> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
557
581
  โ†ณ Parses a comma-separated list option, dropping blank entries.
@@ -563,7 +587,7 @@ What this project is judged against, as declared in its own `callidescope.config
563
587
  ```text
564
588
  ๐Ÿš€ PathCommand.parseInclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:139]
565
589
  โ†ณ Parses `--include`, a comma-separated list of globs overriding the configured `include`.
566
- โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:281]
590
+ โ””โ”€> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
567
591
  โ†ณ Parses a comma-separated list option, dropping blank entries.
568
592
  โ””โ”€> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
569
593
  โ†ณ Parses a comma-separated list option, dropping blank entries.
@@ -573,9 +597,9 @@ What this project is judged against, as declared in its own `callidescope.config
573
597
  **9. `MapCommand.parseConfig`** โ€” depth 3 ยท decorated-method
574
598
 
575
599
  ```text
576
- ๐Ÿš€ MapCommand.parseConfig(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:221]
600
+ ๐Ÿš€ MapCommand.parseConfig(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:182]
577
601
  โ†ณ Parses the optional configuration path from command-line input.
578
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
602
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
579
603
  โ†ณ Trims an optional string option, treating blank as absent.
580
604
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
581
605
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -584,9 +608,9 @@ What this project is judged against, as declared in its own `callidescope.config
584
608
  **10. `MapCommand.parseFormat`** โ€” depth 3 ยท decorated-method
585
609
 
586
610
  ```text
587
- ๐Ÿš€ MapCommand.parseFormat(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:284]
611
+ ๐Ÿš€ MapCommand.parseFormat(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:231]
588
612
  โ†ณ Parses what `--format` prints to standard output.
589
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
613
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
590
614
  โ†ณ Trims an optional string option, treating blank as absent.
591
615
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
592
616
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -595,9 +619,9 @@ What this project is judged against, as declared in its own `callidescope.config
595
619
  **11. `MapCommand.parseJsonOutput`** โ€” depth 3 ยท decorated-method
596
620
 
597
621
  ```text
598
- ๐Ÿš€ MapCommand.parseJsonOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:312]
622
+ ๐Ÿš€ MapCommand.parseJsonOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:259]
599
623
  โ†ณ Parses `--json-output`, the path to write every active graph type's combined JSON data to, keyed by graph type name.
600
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
624
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
601
625
  โ†ณ Trims an optional string option, treating blank as absent.
602
626
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
603
627
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -606,9 +630,9 @@ What this project is judged against, as declared in its own `callidescope.config
606
630
  **12. `MapCommand.parseMarkdownOutput`** โ€” depth 3 ยท decorated-method
607
631
 
608
632
  ```text
609
- ๐Ÿš€ MapCommand.parseMarkdownOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:325]
633
+ ๐Ÿš€ MapCommand.parseMarkdownOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:272]
610
634
  โ†ณ Parses `--markdown-output`, the path to write every active graph type's combined, anchor-spliced Markdown diagram to.
611
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
635
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
612
636
  โ†ณ Trims an optional string option, treating blank as absent.
613
637
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
614
638
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -617,9 +641,9 @@ What this project is judged against, as declared in its own `callidescope.config
617
641
  **13. `MapCommand.parseProjects`** โ€” depth 3 ยท decorated-method
618
642
 
619
643
  ```text
620
- ๐Ÿš€ MapCommand.parseProjects(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:404]
644
+ ๐Ÿš€ MapCommand.parseProjects(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:336]
621
645
  โ†ณ Parses the projects a run exports for beyond `include`. **Widening, and narrowing.** A named project is added toโ€ฆ
622
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
646
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
623
647
  โ†ณ Trims an optional string option, treating blank as absent.
624
648
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
625
649
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -628,9 +652,9 @@ What this project is judged against, as declared in its own `callidescope.config
628
652
  **14. `MapCommand.parseTags`** โ€” depth 3 ยท decorated-method
629
653
 
630
654
  ```text
631
- ๐Ÿš€ MapCommand.parseTags(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:417]
655
+ ๐Ÿš€ MapCommand.parseTags(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:349]
632
656
  โ†ณ Parses the Nx tags a run exports for, matched exactly against a project's own tags.
633
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
657
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
634
658
  โ†ณ Trims an optional string option, treating blank as absent.
635
659
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
636
660
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -639,9 +663,9 @@ What this project is judged against, as declared in its own `callidescope.config
639
663
  **15. `MapCommand.parseWrite`** โ€” depth 3 ยท decorated-method
640
664
 
641
665
  ```text
642
- ๐Ÿš€ MapCommand.parseWrite(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:427]
666
+ ๐Ÿš€ MapCommand.parseWrite(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:359]
643
667
  โ†ณ Parses the `--write` flag from command-line input.
644
- โ””โ”€> ConfigurationService.parseFlagOption(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:286]
668
+ โ””โ”€> ConfigurationService.parseFlagOption(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:284]
645
669
  โ†ณ Parses a valueless boolean flag, which is present or it is not.
646
670
  โ””โ”€> InputService.parseFlagOption(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:70]
647
671
  โ†ณ Parses a valueless boolean flag, which is present or it is not.
@@ -652,7 +676,7 @@ What this project is judged against, as declared in its own `callidescope.config
652
676
  ```text
653
677
  ๐Ÿš€ PathCommand.parseConfig(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:89]
654
678
  โ†ณ Parses the optional configuration path from command-line input.
655
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
679
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
656
680
  โ†ณ Trims an optional string option, treating blank as absent.
657
681
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
658
682
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -663,7 +687,7 @@ What this project is judged against, as declared in its own `callidescope.config
663
687
  ```text
664
688
  ๐Ÿš€ PathCommand.parseFormat(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:130]
665
689
  โ†ณ Parses what `--format` prints to standard output. Defaults to Markdown when the flag was left off entirely.
666
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
690
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
667
691
  โ†ณ Trims an optional string option, treating blank as absent.
668
692
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
669
693
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -674,7 +698,7 @@ What this project is judged against, as declared in its own `callidescope.config
674
698
  ```text
675
699
  ๐Ÿš€ PathCommand.parseProjects(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:194]
676
700
  โ†ณ Parses the projects a query searches across beyond `include`.
677
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
701
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
678
702
  โ†ณ Trims an optional string option, treating blank as absent.
679
703
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
680
704
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -685,7 +709,7 @@ What this project is judged against, as declared in its own `callidescope.config
685
709
  ```text
686
710
  ๐Ÿš€ PathCommand.parseTags(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:204]
687
711
  โ†ณ Parses the Nx tags a query searches across, matched exactly against project tags.
688
- โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:291]
712
+ โ””โ”€> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
689
713
  โ†ณ Trims an optional string option, treating blank as absent.
690
714
  โ””โ”€> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
691
715
  โ†ณ Trims an optional string option, treating blank as absent.
@@ -697,28 +721,27 @@ What this project is judged against, as declared in its own `callidescope.config
697
721
 
698
722
  | Callable | Breadth | Calls directly | Location |
699
723
  | --- | --- | --- | --- |
700
- | `MapCommand.runMode` | 7 | `RunContextService.build`, `ConfigurationService.touchesFiles`, `MapCommand.runExports`, `BoundaryCheckService.run`, `MapCommand.runCombinedOutput`, `ReportingService.reportPassOutcomes`, `ReportingService.reportSuccess` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:163` |
724
+ | `MapCommand.runMode` | 7 | `RunContextService.build`, `ConfigurationService.touchesFiles`, `MapCommand.runExports`, `BoundaryCheckService.run`, `MapCommand.runCombinedOutput`, `ReportingService.reportPassOutcomes`, `ReportingService.reportSuccess` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:125` |
701
725
  | `PathCommand.run` | 5 | `PathCommand.validateInputs`, `RunContextService.build`, `PathQueryService.query`, `PathQueryService.render`, `ReportingService.reportFailure` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:214` |
702
- | `MapCommand.run` | 4 | `ConfigurationService.selectMode`, `CombinedOutputService.resolveFormat`, `MapCommand.runMode`, `ReportingService.reportFailure` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:445` |
726
+ | `MapCommand.run` | 4 | `ConfigurationService.selectMode`, `CombinedOutputService.resolveFormat`, `MapCommand.runMode`, `ReportingService.reportFailure` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:377` |
703
727
 
704
728
  <details>
705
- <summary>21 more callables</summary>
729
+ <summary>20 more callables</summary>
706
730
 
707
731
  | Callable | Breadth | Calls directly | Location |
708
732
  | --- | --- | --- | --- |
709
- | `MapCommand.runCombinedOutput` | 2 | `MapCommand.buildBoundaryReport`, `CombinedOutputService.run` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:111` |
710
- | `MapCommand.runExports` | 2 | `GraphRunService.run`, `ReportingService.reportEmptySelection` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:144` |
711
- | `MapCommand.buildBoundaryReport` | 1 | `MapCommand.map(โ€ฆ)` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:87` |
712
- | `MapCommand.parseConfig` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:221` |
713
- | `MapCommand.parseDirectory` | 1 | `ConfigurationService.parsePathOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:244` |
714
- | `MapCommand.parseExclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:260` |
715
- | `MapCommand.parseFormat` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:284` |
716
- | `MapCommand.parseInclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:299` |
717
- | `MapCommand.parseJsonOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:312` |
718
- | `MapCommand.parseMarkdownOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:325` |
719
- | `MapCommand.parseProjects` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:404` |
720
- | `MapCommand.parseTags` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:417` |
721
- | `MapCommand.parseWrite` | 1 | `ConfigurationService.parseFlagOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:427` |
733
+ | `MapCommand.runExports` | 2 | `GraphRunService.run`, `ReportingService.reportEmptySelection` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:106` |
734
+ | `MapCommand.runCombinedOutput` | 1 | `CombinedOutputService.run` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:82` |
735
+ | `MapCommand.parseConfig` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:182` |
736
+ | `MapCommand.parseDirectory` | 1 | `ConfigurationService.parsePathOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:191` |
737
+ | `MapCommand.parseExclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:207` |
738
+ | `MapCommand.parseFormat` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:231` |
739
+ | `MapCommand.parseInclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:246` |
740
+ | `MapCommand.parseJsonOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:259` |
741
+ | `MapCommand.parseMarkdownOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:272` |
742
+ | `MapCommand.parseProjects` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:336` |
743
+ | `MapCommand.parseTags` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:349` |
744
+ | `MapCommand.parseWrite` | 1 | `ConfigurationService.parseFlagOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:359` |
722
745
  | `PathCommand.validateInputs` | 1 | `PathQueryService.resolveFormat` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:53` |
723
746
  | `PathCommand.parseConfig` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:89` |
724
747
  | `PathCommand.parseDirectory` | 1 | `ConfigurationService.parsePathOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:98` |
@@ -738,13 +761,13 @@ What this project is judged against, as declared in its own `callidescope.config
738
761
  ### Project
739
762
 
740
763
  ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-4058-22c55e?style=flat-square)
741
- ![Repository Size](https://img.shields.io/badge/Repository_Size-141.10_kB-6b7280?style=flat-square)
764
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-141.62_kB-6b7280?style=flat-square)
742
765
  ![Folders](https://img.shields.io/badge/Folders-5-4a4a4a?style=flat-square)
743
766
  ![Source Files](https://img.shields.io/badge/Source_Files-31-3178c6?style=flat-square)
744
767
 
745
768
  ### Measured Targets
746
769
 
747
- ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-5.82_kB_gzip-6b7280?style=flat-square)
770
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-5.79_kB_gzip-6b7280?style=flat-square)
748
771
 
749
772
  ### TypeScript
750
773
 
@@ -791,16 +814,16 @@ What this project is judged against, as declared in its own `callidescope.config
791
814
  ### JSON
792
815
 
793
816
  ![JSON Files](https://img.shields.io/badge/JSON_Files-4-a16207?style=flat-square)
794
- ![JSON Lines](https://img.shields.io/badge/JSON_Lines-191-ca8a04?style=flat-square)
817
+ ![JSON Lines](https://img.shields.io/badge/JSON_Lines-193-ca8a04?style=flat-square)
795
818
  ![JSON Objects](https://img.shields.io/badge/JSON_Objects-42-7c3aed?style=flat-square)
796
819
  ![JSON Arrays](https://img.shields.io/badge/JSON_Arrays-13-8b5cf6?style=flat-square)
797
- ![JSON Properties](https://img.shields.io/badge/JSON_Properties-122-0284c7?style=flat-square)
798
- ![JSON Strings](https://img.shields.io/badge/JSON_Strings-107-16a34a?style=flat-square)
820
+ ![JSON Properties](https://img.shields.io/badge/JSON_Properties-124-0284c7?style=flat-square)
821
+ ![JSON Strings](https://img.shields.io/badge/JSON_Strings-109-16a34a?style=flat-square)
799
822
  ![JSON Numbers](https://img.shields.io/badge/JSON_Numbers-1-059669?style=flat-square)
800
823
  ![JSON Booleans](https://img.shields.io/badge/JSON_Booleans-8-0ea5e9?style=flat-square)
801
824
  ![JSON Nulls](https://img.shields.io/badge/JSON_Nulls-0-64748b?style=flat-square)
802
825
  ![JSON Items](https://img.shields.io/badge/JSON_Items-45-475569?style=flat-square)
803
- ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-171-dc2626?style=flat-square)
826
+ ![JSON Nodes](https://img.shields.io/badge/JSON_Nodes-173-dc2626?style=flat-square)
804
827
  ![JSON Max Depth](https://img.shields.io/badge/JSON_Max_Depth-6-ea580c?style=flat-square)
805
828
 
806
829
  ### YAML
@@ -926,20 +949,20 @@ What this project is judged against, as declared in its own `callidescope.config
926
949
  ### Markdown
927
950
 
928
951
  ![Markdown Files](https://img.shields.io/badge/Markdown_Files-2-083fa1?style=flat-square)
929
- ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-363-1f6feb?style=flat-square)
952
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-376-1f6feb?style=flat-square)
930
953
  ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
931
- ![H2](https://img.shields.io/badge/H2-19-8b5cf6?style=flat-square)
932
- ![H3](https://img.shields.io/badge/H3-29-a78bfa?style=flat-square)
954
+ ![H2](https://img.shields.io/badge/H2-20-8b5cf6?style=flat-square)
955
+ ![H3](https://img.shields.io/badge/H3-31-a78bfa?style=flat-square)
933
956
  ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
934
957
  ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
935
958
  ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
936
- ![Paragraphs](https://img.shields.io/badge/Paragraphs-97-64748b?style=flat-square)
937
- ![Lists](https://img.shields.io/badge/Lists-21-16a34a?style=flat-square)
938
- ![List Items](https://img.shields.io/badge/List_Items-76-22c55e?style=flat-square)
959
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-102-64748b?style=flat-square)
960
+ ![Lists](https://img.shields.io/badge/Lists-23-16a34a?style=flat-square)
961
+ ![List Items](https://img.shields.io/badge/List_Items-81-22c55e?style=flat-square)
939
962
  ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
940
963
  ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
941
964
  ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
942
- ![Links](https://img.shields.io/badge/Links-18-059669?style=flat-square)
965
+ ![Links](https://img.shields.io/badge/Links-20-059669?style=flat-square)
943
966
  ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
944
967
  ![Code Blocks](https://img.shields.io/badge/Code_Blocks-13-dc2626?style=flat-square)
945
968
  ![Inline Code](https://img.shields.io/badge/Inline_Code-78-ef4444?style=flat-square)
@@ -43,12 +43,12 @@ var N = Object.defineProperty, __name = (e, t) => N(e, "name", {
43
43
  "TypeOrmModule"
44
44
  ]);
45
45
  //#endregion
46
- //#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorateMetadata.js
46
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorateMetadata.js
47
47
  function __decorateMetadata(e, t) {
48
48
  if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
49
49
  }
50
50
  //#endregion
51
- //#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorate.js
51
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorate.js
52
52
  function __decorate(e, t, n, r) {
53
53
  var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
54
54
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
@@ -85,11 +85,7 @@ var R, z = class LoggerService extends e {
85
85
  });
86
86
  }
87
87
  static logToStandardError() {
88
- if (R.rootLogger !== void 0) {
89
- process.emitWarning("LoggerService.logToStandardError() was called after the first log line, so log lines still go to standard output and anything piping that stream will read them as data. Call it as the first statement of the application's bootstrap.");
90
- return;
91
- }
92
- R.writesToStandardError = !0;
88
+ R.rootLogger === void 0 ? R.writesToStandardError = !0 : process.emitWarning("LoggerService.logToStandardError() was called after the first log line, so log lines still go to standard output and anything piping that stream will read them as data. Call it as the first statement of the application's bootstrap.");
93
89
  }
94
90
  assertConventionalMessage(e) {
95
91
  if (R.isProduction || this.shouldSkipConventionalMessageValidation(e.context)) return;
@@ -248,23 +244,19 @@ var V = d.object({}), H, U = H = class MapCommand extends j {
248
244
  options: r,
249
245
  workingDirectory: l.resolve(r.directory ?? process.cwd())
250
246
  }), a = this.configurationService.touchesFiles(n) ? await this.runExports(i) : void 0, o = n.checksBoundaries ? await this.boundaryCheckService.run(i) : void 0;
251
- if (this.runCombinedOutput({
247
+ this.runCombinedOutput({
252
248
  boundaryOutcome: o,
253
249
  combinedGraphs: a?.combinedGraphs,
254
250
  context: i,
255
251
  format: t,
256
252
  options: r
257
- }), !this.reportingService.reportPassOutcomes({
253
+ }), this.reportingService.reportPassOutcomes({
258
254
  boundaryOutcome: o,
259
255
  exportRun: a
260
- })) {
261
- process.exitCode = 1;
262
- return;
263
- }
264
- this.reportingService.reportSuccess({
256
+ }) ? this.reportingService.reportSuccess({
265
257
  boundaryOutcome: o,
266
258
  exportOutcome: a?.outcome
267
- });
259
+ }) : process.exitCode = 1;
268
260
  }
269
261
  parseCheck(e) {
270
262
  return e;
package/dist/src/index.js CHANGED
@@ -1,2 +1 @@
1
- import { n as e, r as t, t as n } from "../main.module-DJFfw_zD.js";
2
- export { n as MainModule, t as MapCommand, e as MapModule };
1
+ export { t as MainModule, r as MapCommand, n as MapModule } from "../main.module-BySMJCYI.js";
package/dist/src/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as e, t } from "../main.module-DJFfw_zD.js";
2
+ import { i as e, t } from "../main.module-BySMJCYI.js";
3
3
  import { CommandFactory as n } from "nest-commander";
4
4
  import "reflect-metadata";
5
5
  //#region packages/ic-suite/codependix/codependix-cli/src/main.ts
package/package.json CHANGED
@@ -7,10 +7,10 @@
7
7
  "url": "https://github.com/organizzolini/codebase/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@codependix/boundaries": "0.0.14",
11
- "@codependix/configuration": "0.0.15",
12
- "@codependix/core": "0.0.13",
13
- "@codependix/output": "0.0.14",
10
+ "@codependix/boundaries": "0.0.15",
11
+ "@codependix/configuration": "0.0.16",
12
+ "@codependix/core": "0.0.14",
13
+ "@codependix/output": "0.0.15",
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",
@@ -39,6 +39,7 @@
39
39
  "types": "./dist/src/index.d.ts",
40
40
  "default": "./dist/src/index.js"
41
41
  },
42
+ "./main": "./dist/src/main.js",
42
43
  "./package.json": "./package.json"
43
44
  },
44
45
  "files": [
@@ -74,5 +75,5 @@
74
75
  "strict": true
75
76
  },
76
77
  "types": "./dist/src/index.d.ts",
77
- "version": "0.0.15"
78
+ "version": "0.0.16"
78
79
  }