@codependix/output 0.0.14 → 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,29 @@
1
+ ## 0.0.16 (2026-10-13)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **codependix:** 🐛 warn on unmatched selection entries and harden the boundary report ([#1441](https://github.com/organizzolini/codebase/pull/1441), [#1432](https://github.com/organizzolini/codebase/issues/1432))
6
+
7
+ ### 🧱 Updated Dependencies
8
+
9
+ - Updated codependix-nestjs-modules to 0.0.15
10
+ - Updated codependix-configuration to 0.0.17
11
+ - Updated codependix-file-imports to 0.0.15
12
+ - Updated codependix-nx-projects to 0.0.16
13
+ - Updated codependix-boundaries to 0.0.16
14
+ - Updated codependix-core to 0.0.15
15
+
16
+ ## 0.0.15 (2026-10-13)
17
+
18
+ ### 🧱 Updated Dependencies
19
+
20
+ - Updated codependix-nestjs-modules to 0.0.14
21
+ - Updated codependix-configuration to 0.0.16
22
+ - Updated codependix-file-imports to 0.0.14
23
+ - Updated codependix-nx-projects to 0.0.15
24
+ - Updated codependix-boundaries to 0.0.15
25
+ - Updated codependix-core to 0.0.14
26
+
1
27
  ## 0.0.14 (2026-10-12)
2
28
 
3
29
  ### 🧱 Updated Dependencies
package/README.md CHANGED
@@ -301,9 +301,9 @@ Call stacks traced through `packages/ic-suite/codependix/codependix-output`, dee
301
301
 
302
302
  | Measure | Value |
303
303
  | --- | --- |
304
- | Callables | 115 |
304
+ | Callables | 117 |
305
305
  | Files | 43 |
306
- | Calls traced | 192 |
306
+ | Calls traced | 193 |
307
307
  | Call stacks | 2 |
308
308
  | Deepest stack | 11 |
309
309
  | Stacks through recursion | 0 |
@@ -386,7 +386,7 @@ What this project is judged against, as declared in its own `callidescope.config
386
386
  | `PythonImportsService.runProject` | 5 | `PythonService.buildGraph`, `DeliveryService.deliverGraphOutput`, `DeliveryService.renderJson`, `PythonService.renderMermaid`, `PythonImportsService.buildMarkdownSection` | `packages/ic-suite/codependix/codependix-output/src/modules/python-imports/python-imports.service.ts:99` |
387
387
  | `WorkspaceGraphsService.runNestjsModulesWorkspaceGraph` | 5 | `ConfigurationService.resolveForWorkspace`, `WorkspaceGraphsService.buildNestjsModuleGraphs`, `NestjsModulesWorkspaceGraphService.buildWorkspaceGraph`, `NestjsModulesWorkspaceGraphService.renderMermaid`, `WorkspaceGraphsService.deliverWorkspaceGraph` | `packages/ic-suite/codependix/codependix-output/src/modules/workspace-graphs/workspace-graphs.service.ts:231` |
388
388
  | `GraphRunService.run` | 5 | `GraphRunService.runNxGraphs`, `GraphRunService.runNestjsGraphs`, `GraphRunService.runImportGraphs`, `GraphRunService.runPythonImportGraphs`, `GraphRunService.collectCombinedGraphs` | `packages/ic-suite/codependix/codependix-output/src/modules/graph-run/graph-run.service.ts:144` |
389
- | `ReportingService.reportBoundaries` | 5 | `ReportingService.filterVerdict`, `BoundaryOutcomeReportService.renderFailures`, `BoundaryReportService.renderSummary`, `BoundaryReportService.renderViolations`, `ReportingService.reportBoundaryNotes` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:90` |
389
+ | `ReportingService.reportBoundaries` | 5 | `ReportingService.filterVerdict`, `BoundaryOutcomeReportService.renderFailures`, `BoundaryReportService.renderSummary`, `BoundaryReportService.renderViolations`, `ReportingService.reportBoundaryNotes` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:96` |
390
390
  | `AnchorsService.insertAnchorSection` | 4 | `AnchorsService.wrapInAnchors`, `AnchorsService.escapeForPattern`, `AnchorsService.appendCodependixSection`, `AnchorsService.insertIntoCodependixSection` | `packages/ic-suite/codependix/codependix-output/src/modules/anchors/anchors.service.ts:144` |
391
391
  | `CombinedOutputService.run` | 4 | `CombinedOutputService.printConsole`, `CombinedOutputService.writeFile`, `CombinedOutputService.renderJson`, `CombinedOutputService.renderMarkdown` | `packages/ic-suite/codependix/codependix-output/src/modules/combined-output/combined-output.service.ts:177` |
392
392
  | `DeliveryService.checkAnchoredMarkdown` | 4 | `AnchorNotFoundError.constructor`, `AnchorsService.hasAnchor`, `AnchorsService.checkAnchor`, `DeliveryService.classifyDifference` | `packages/ic-suite/codependix/codependix-output/src/modules/delivery/delivery.service.ts:51` |
@@ -409,7 +409,8 @@ What this project is judged against, as declared in its own `callidescope.config
409
409
  | `PathQueryService.renderMermaidSection` | 3 | `buildNoPathMessage`, `PathQueryService.map(…)`, `PathQueryService.toMermaidId` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:207` |
410
410
  | `PathQueryService.findShortestPath` | 3 | `PathQueryService.isKnownNode`, `PathQueryService.searchBfs`, `PathQueryService.buildAdjacency` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:269` |
411
411
  | `PathQueryService.query` | 3 | `PathQueryService.queryNxProjects`, `PathQueryService.queryFileImports`, `PathQueryService.queryNestjsModules` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:296` |
412
- | `ReportingService.reportOutcome` | 3 | `ReportingService.filter(…)`, `ReportingService.map(…)`, `ReportingService.flatMap(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:161` |
412
+ | `ReportingService.reportOutcome` | 3 | `ReportingService.filter(…)`, `ReportingService.map(…)`, `ReportingService.flatMap(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:171` |
413
+ | `ReportingService.reportPassOutcomes` | 3 | `ReportingService.reportOutcome`, `ReportingService.reportBoundaries`, `ReportingService.map(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:217` |
413
414
  | `AnchorsService.checkAnchor` | 2 | `AnchorsService.extractAnchorContent`, `AnchorNotFoundError.constructor` | `packages/ic-suite/codependix/codependix-output/src/modules/anchors/anchors.service.ts:103` |
414
415
  | `AnchorsService.wrapInAnchors` | 2 | `buildStartMarker`, `buildEndMarker` | `packages/ic-suite/codependix/codependix-output/src/modules/anchors/anchors.service.ts:196` |
415
416
  | `CombinedOutputService.printConsole` | 2 | `CombinedOutputService.renderJson`, `CombinedOutputService.renderMarkdown` | `packages/ic-suite/codependix/codependix-output/src/modules/combined-output/combined-output.service.ts:57` |
@@ -426,9 +427,8 @@ What this project is judged against, as declared in its own `callidescope.config
426
427
  | `PathQueryService.renderMarkdown` | 2 | `buildNoPathMessage`, `PathQueryService.map(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:173` |
427
428
  | `PathQueryService.render` | 2 | `PathQueryService.renderMermaid`, `PathQueryService.renderMarkdown` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:328` |
428
429
  | `PathQueryService.resolveFormat` | 2 | `PathQueryService.find(…)`, `PathQueryService.map(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:344` |
429
- | `ReportingService.filterVerdict` | 2 | `ReportingService.filter(…)`, `ReportingService.filter(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:45` |
430
- | `ReportingService.reportBoundaryNotes` | 2 | `BoundaryOutcomeReportService.renderFailures`, `BoundaryReportService.renderNotes` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:64` |
431
- | `ReportingService.reportPassOutcomes` | 2 | `ReportingService.reportOutcome`, `ReportingService.reportBoundaries` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:206` |
430
+ | `ReportingService.filterVerdict` | 2 | `ReportingService.filter(…)`, `ReportingService.filter(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:46` |
431
+ | `ReportingService.reportBoundaryNotes` | 2 | `BoundaryOutcomeReportService.renderFailures`, `BoundaryReportService.renderNotes` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:65` |
432
432
  | `AnchorsService.extractAnchorContent` | 1 | `AnchorsService.buildAnchorPattern` | `packages/ic-suite/codependix/codependix-output/src/modules/anchors/anchors.service.ts:120` |
433
433
  | `AnchorsService.hasAnchor` | 1 | `AnchorsService.buildAnchorPattern` | `packages/ic-suite/codependix/codependix-output/src/modules/anchors/anchors.service.ts:125` |
434
434
  | `CombinedOutputService.renderJson` | 1 | `BoundaryOutcomeReportService.buildReport` | `packages/ic-suite/codependix/codependix-output/src/modules/combined-output/combined-output.service.ts:70` |
@@ -441,7 +441,7 @@ What this project is judged against, as declared in its own `callidescope.config
441
441
  | `PathQueryService.map(…)` | 1 | `PythonService.buildGraph` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:118` |
442
442
  | `PathQueryService.renderMermaid` | 1 | `PathQueryService.renderMermaidSection` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:193` |
443
443
  | `PathQueryService.map(…)` | 1 | `PathQueryService.toMermaidId` | `packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:216` |
444
- | `ReportingService.flatMap(…)` | 1 | `ReportingService.map(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:176` |
444
+ | `ReportingService.flatMap(…)` | 1 | `ReportingService.map(…)` | `packages/ic-suite/codependix/codependix-output/src/modules/reporting/reporting.service.ts:186` |
445
445
 
446
446
  </details>
447
447
  <!-- callidescope:end -->
@@ -452,14 +452,14 @@ What this project is judged against, as declared in its own `callidescope.config
452
452
 
453
453
  ### Project
454
454
 
455
- ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-8201-22c55e?style=flat-square)
456
- ![Repository Size](https://img.shields.io/badge/Repository_Size-273.38_kB-6b7280?style=flat-square)
455
+ ![Lines of Code](https://img.shields.io/badge/Lines_of_Code-8338-22c55e?style=flat-square)
456
+ ![Repository Size](https://img.shields.io/badge/Repository_Size-278.66_kB-6b7280?style=flat-square)
457
457
  ![Folders](https://img.shields.io/badge/Folders-12-4a4a4a?style=flat-square)
458
458
  ![Source Files](https://img.shields.io/badge/Source_Files-63-3178c6?style=flat-square)
459
459
 
460
460
  ### Measured Targets
461
461
 
462
- ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-9.51_kB_gzip-6b7280?style=flat-square)
462
+ ![Compiled JavaScript Size](https://img.shields.io/badge/Compiled_JavaScript_Size-9.63_kB_gzip-6b7280?style=flat-square)
463
463
 
464
464
  ### TypeScript
465
465
 
@@ -468,7 +468,7 @@ What this project is judged against, as declared in its own `callidescope.config
468
468
  ![Generic Declarations](https://img.shields.io/badge/Generic_Declarations-0-0369a1?style=flat-square)
469
469
  ![Enums](https://img.shields.io/badge/Enums-0-f97316?style=flat-square)
470
470
  ![Decorators](https://img.shields.io/badge/Decorators-18-db2777?style=flat-square)
471
- ![Doc Comments](https://img.shields.io/badge/Doc_Comments-141-6366f1?style=flat-square)
471
+ ![Doc Comments](https://img.shields.io/badge/Doc_Comments-142-6366f1?style=flat-square)
472
472
  ![Static Methods](https://img.shields.io/badge/Static_Methods-0-166534?style=flat-square)
473
473
 
474
474
  ### JavaScript
@@ -477,15 +477,15 @@ What this project is judged against, as declared in its own `callidescope.config
477
477
  ![Test Files](https://img.shields.io/badge/Test_Files-18-10b981?style=flat-square)
478
478
  ![External Packages](https://img.shields.io/badge/External_Packages-16-8b5cf6?style=flat-square)
479
479
  ![Classes](https://img.shields.io/badge/Classes-19-7c3aed?style=flat-square)
480
- ![Functions](https://img.shields.io/badge/Functions-283-16a34a?style=flat-square)
481
- ![Methods](https://img.shields.io/badge/Methods-102-15803d?style=flat-square)
482
- ![Sync Functions](https://img.shields.io/badge/Sync_Functions-299-4ade80?style=flat-square)
480
+ ![Functions](https://img.shields.io/badge/Functions-294-16a34a?style=flat-square)
481
+ ![Methods](https://img.shields.io/badge/Methods-104-15803d?style=flat-square)
482
+ ![Sync Functions](https://img.shields.io/badge/Sync_Functions-312-4ade80?style=flat-square)
483
483
  ![Async Functions](https://img.shields.io/badge/Async_Functions-86-059669?style=flat-square)
484
- ![Constants](https://img.shields.io/badge/Constants-406-dc2626?style=flat-square)
484
+ ![Constants](https://img.shields.io/badge/Constants-407-dc2626?style=flat-square)
485
485
  ![Imports](https://img.shields.io/badge/Imports-310-0284c7?style=flat-square)
486
486
  ![Exported Symbols](https://img.shields.io/badge/Exported_Symbols-71-ea580c?style=flat-square)
487
- ![Comments](https://img.shields.io/badge/Comments-229-64748b?style=flat-square)
488
- ![Comment Lines](https://img.shields.io/badge/Comment_Lines-652-475569?style=flat-square)
487
+ ![Comments](https://img.shields.io/badge/Comments-231-64748b?style=flat-square)
488
+ ![Comment Lines](https://img.shields.io/badge/Comment_Lines-658-475569?style=flat-square)
489
489
  ![TODO Comments](https://img.shields.io/badge/TODO_Comments-0-ca8a04?style=flat-square)
490
490
 
491
491
  ### Python
@@ -641,20 +641,20 @@ What this project is judged against, as declared in its own `callidescope.config
641
641
  ### Markdown
642
642
 
643
643
  ![Markdown Files](https://img.shields.io/badge/Markdown_Files-2-083fa1?style=flat-square)
644
- ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-352-1f6feb?style=flat-square)
644
+ ![Markdown Lines](https://img.shields.io/badge/Markdown_Lines-378-1f6feb?style=flat-square)
645
645
  ![H1](https://img.shields.io/badge/H1-1-7c3aed?style=flat-square)
646
- ![H2](https://img.shields.io/badge/H2-18-8b5cf6?style=flat-square)
647
- ![H3](https://img.shields.io/badge/H3-26-a78bfa?style=flat-square)
646
+ ![H2](https://img.shields.io/badge/H2-20-8b5cf6?style=flat-square)
647
+ ![H3](https://img.shields.io/badge/H3-29-a78bfa?style=flat-square)
648
648
  ![H4](https://img.shields.io/badge/H4-0-c4b5fd?style=flat-square)
649
649
  ![H5](https://img.shields.io/badge/H5-0-ddd6fe?style=flat-square)
650
650
  ![H6](https://img.shields.io/badge/H6-0-ede9fe?style=flat-square)
651
- ![Paragraphs](https://img.shields.io/badge/Paragraphs-112-64748b?style=flat-square)
652
- ![Lists](https://img.shields.io/badge/Lists-20-16a34a?style=flat-square)
653
- ![List Items](https://img.shields.io/badge/List_Items-92-22c55e?style=flat-square)
651
+ ![Paragraphs](https://img.shields.io/badge/Paragraphs-125-64748b?style=flat-square)
652
+ ![Lists](https://img.shields.io/badge/Lists-23-16a34a?style=flat-square)
653
+ ![List Items](https://img.shields.io/badge/List_Items-105-22c55e?style=flat-square)
654
654
  ![Task List Items](https://img.shields.io/badge/Task_List_Items-0-4ade80?style=flat-square)
655
655
  ![Tables](https://img.shields.io/badge/Tables-2-0284c7?style=flat-square)
656
656
  ![Table Rows](https://img.shields.io/badge/Table_Rows-10-0ea5e9?style=flat-square)
657
- ![Links](https://img.shields.io/badge/Links-16-059669?style=flat-square)
657
+ ![Links](https://img.shields.io/badge/Links-18-059669?style=flat-square)
658
658
  ![Images](https://img.shields.io/badge/Images-0-10b981?style=flat-square)
659
659
  ![Code Blocks](https://img.shields.io/badge/Code_Blocks-11-dc2626?style=flat-square)
660
660
  ![Inline Code](https://img.shields.io/badge/Inline_Code-73-ef4444?style=flat-square)
@@ -22,6 +22,7 @@ import { ProjectRunResult } from '@codependix/core';
22
22
  import { PythonService } from '@codependix/file-imports';
23
23
  import { ResolvedCodependixGraphOutput } from '@codependix/configuration';
24
24
  import { TypescriptService } from '@codependix/file-imports';
25
+ import { UnmatchedSelection } from '@codependix/boundaries';
25
26
  import { WorkspaceGraph } from '@codependix/nx-projects';
26
27
  import { WorkspaceGraphService } from '@codependix/nx-projects';
27
28
 
@@ -1120,8 +1121,12 @@ export declare class ReportingService {
1120
1121
  * Violations go to the console and the exit code and nowhere else: a list of
1121
1122
  * things currently wrong is not a document worth publishing on the default
1122
1123
  * branch, and not one worth checking for staleness either.
1124
+ *
1125
+ * `judgedProjects` lets a failure charged to every one of them be counted
1126
+ * rather than listed. A note never is: its charge is the dependency it
1127
+ * lives in.
1123
1128
  */
1124
- reportBoundaries(outcome: BoundaryCheckOutcome): boolean;
1129
+ reportBoundaries(outcome: BoundaryCheckOutcome, judgedProjects: readonly string[]): boolean;
1125
1130
  /**
1126
1131
  * Warns when nothing in the configuration selects a single project.
1127
1132
  *
@@ -1156,17 +1161,31 @@ export declare class ReportingService {
1156
1161
  *
1157
1162
  * Both are weighed independently rather than the first failure
1158
1163
  * short-circuiting the second: a run gating both should report both, not
1159
- * only the one that happened to run first.
1164
+ * only the one that happened to run first. `selectedProjects` are the
1165
+ * projects the boundary pass judged.
1160
1166
  */
1161
1167
  reportPassOutcomes(args: {
1162
1168
  boundaryOutcome: BoundaryCheckOutcome | undefined;
1163
1169
  exportRun: MapRunResult | undefined;
1170
+ selectedProjects: readonly {
1171
+ readonly name: string;
1172
+ }[];
1164
1173
  }): boolean;
1165
1174
  /** Logs what each pass that ran verified, and nothing for one that did not. */
1166
1175
  reportSuccess(args: {
1167
1176
  boundaryOutcome: BoundaryCheckOutcome | undefined;
1168
1177
  exportOutcome: GraphRunOutcome | undefined;
1169
1178
  }): void;
1179
+ /**
1180
+ * Warns about every `--projects` pattern and `--tags` tag that matched no
1181
+ * project, when the rest of the selection matched at least one.
1182
+ *
1183
+ * A selection in which nothing matched never reaches here — the run is
1184
+ * refused before it starts. This is the partial case: a typo beside a
1185
+ * correct name, which the run narrows past, judging fewer projects than
1186
+ * were named. Never failing, since what did match was still judged.
1187
+ */
1188
+ reportUnmatchedSelection(unmatched: UnmatchedSelection): void;
1170
1189
  }
1171
1190
 
1172
1191
  /** One whole-workspace graph pass's outcome. */
package/dist/src/index.js CHANGED
@@ -14,12 +14,12 @@ var buildStartMarker = (e) => `<!-- codependix:start name="${e}" -->`, buildEndM
14
14
  }
15
15
  };
16
16
  //#endregion
17
- //#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorateMetadata.js
17
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorateMetadata.js
18
18
  function __decorateMetadata(e, t) {
19
19
  if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
20
20
  }
21
21
  //#endregion
22
- //#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorate.js
22
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorate.js
23
23
  function __decorate(e, t, n, r) {
24
24
  var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
25
25
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
@@ -243,9 +243,7 @@ var B = class DeliveryService {
243
243
  difference: this.classifyDifference(n, e.content, "json"),
244
244
  path: e.path
245
245
  }));
246
- return;
247
- }
248
- l(f.dirname(t), { recursive: !0 }), d(t, e.content, "utf8");
246
+ } else l(f.dirname(t), { recursive: !0 }), d(t, e.content, "utf8");
249
247
  }
250
248
  deliverMarkdown(e) {
251
249
  if (e.anchor === void 0) {
@@ -260,20 +258,14 @@ var B = class DeliveryService {
260
258
  return;
261
259
  }
262
260
  l(f.dirname(t), { recursive: !0 }), d(t, n, "utf8");
263
- return;
264
- }
265
- if (e.mode === "check") {
266
- this.checkAnchoredMarkdown({
267
- absoluteRoot: e.absoluteRoot,
268
- anchorName: e.anchor,
269
- content: e.content,
270
- path: e.path,
271
- staleExports: e.staleExports,
272
- stalePaths: e.stalePaths
273
- });
274
- return;
275
- }
276
- this.writeAnchoredMarkdown({
261
+ } else e.mode === "check" ? this.checkAnchoredMarkdown({
262
+ absoluteRoot: e.absoluteRoot,
263
+ anchorName: e.anchor,
264
+ content: e.content,
265
+ path: e.path,
266
+ staleExports: e.staleExports,
267
+ stalePaths: e.stalePaths
268
+ }) : this.writeAnchoredMarkdown({
277
269
  absoluteRoot: e.absoluteRoot,
278
270
  anchorName: e.anchor,
279
271
  content: e.content,
@@ -437,11 +429,7 @@ var ge = /^(\p{Extended_Pictographic}️?(?:‍\p{Extended_Pictographic}️?)*)\
437
429
  });
438
430
  }
439
431
  static logToStandardError() {
440
- if (H.rootLogger !== void 0) {
441
- 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.");
442
- return;
443
- }
444
- H.writesToStandardError = !0;
432
+ H.rootLogger === void 0 ? H.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.");
445
433
  }
446
434
  assertConventionalMessage(e) {
447
435
  if (H.isProduction || this.shouldSkipConventionalMessageValidation(e.context)) return;
@@ -1269,16 +1257,16 @@ var De, $ = De = class ReportingService {
1269
1257
  }
1270
1258
  reportBoundaryNotes(e) {
1271
1259
  (e.failures.length !== 0 || e.violations.length !== 0) && this.logger.warn("🕸️ Found codependix boundary findings in dependencies, not failing", void 0, {
1272
- failures: this.boundaryOutcomeReportService.renderFailures(e.failures),
1260
+ failures: this.boundaryOutcomeReportService.renderFailures(e.failures, []),
1273
1261
  violations: this.boundaryReportService.renderNotes(e.violations)
1274
1262
  });
1275
1263
  }
1276
- reportBoundaries(e) {
1277
- let t = this.filterVerdict(e, "fail");
1278
- return t.failures.length > 0 && this.logger.error("💥 Failed running codependix", void 0, { failures: this.boundaryOutcomeReportService.renderFailures(t.failures) }), t.violations.length > 0 && this.logger.error("🕸️ Found codependix boundary violations", void 0, {
1279
- summary: this.boundaryReportService.renderSummary(t.violations),
1280
- violations: this.boundaryReportService.renderViolations(t.violations)
1281
- }), this.reportBoundaryNotes(this.filterVerdict(e, "note")), t.failures.length === 0 && t.violations.length === 0;
1264
+ reportBoundaries(e, t) {
1265
+ let n = this.filterVerdict(e, "fail");
1266
+ return n.failures.length > 0 && this.logger.error("💥 Failed running codependix", void 0, { failures: this.boundaryOutcomeReportService.renderFailures(n.failures, t) }), n.violations.length > 0 && this.logger.error("🕸️ Found codependix boundary violations", void 0, {
1267
+ summary: this.boundaryReportService.renderSummary(n.violations),
1268
+ violations: this.boundaryReportService.renderViolations(n.violations)
1269
+ }), this.reportBoundaryNotes(this.filterVerdict(e, "note")), n.failures.length === 0 && n.violations.length === 0;
1282
1270
  }
1283
1271
  reportEmptySelection(e) {
1284
1272
  e > 0 || this.logger.warn("🕸️ Selected no project to export", void 0, { hint: "name the projects that participate in the configuration's include list" });
@@ -1303,12 +1291,19 @@ var De, $ = De = class ReportingService {
1303
1291
  return e.failures.length === 0 && n.length === 0;
1304
1292
  }
1305
1293
  reportPassOutcomes(e) {
1306
- let t = e.exportRun === void 0 || this.reportOutcome(e.exportRun.outcome), n = e.boundaryOutcome === void 0 || this.reportBoundaries(e.boundaryOutcome);
1294
+ let t = e.exportRun === void 0 || this.reportOutcome(e.exportRun.outcome), n = e.boundaryOutcome === void 0 || this.reportBoundaries(e.boundaryOutcome, e.selectedProjects.map((e) => e.name));
1307
1295
  return t && n;
1308
1296
  }
1309
1297
  reportSuccess(e) {
1310
1298
  e.exportOutcome !== void 0 && this.logger.info("🕸️ Verified every configured codependix export is current", void 0, { projects: e.exportOutcome.results.length }), e.boundaryOutcome !== void 0 && this.logger.info("🕸️ Verified every declared codependix boundary holds");
1311
1299
  }
1300
+ reportUnmatchedSelection(e) {
1301
+ e.projects.length + e.tags.length !== 0 && this.logger.warn("🕸️ Ignored selection entries that matched no project", void 0, {
1302
+ hint: "check the spelling — the run judged only the entries that matched",
1303
+ ...e.projects.length > 0 && { projects: e.projects },
1304
+ ...e.tags.length > 0 && { tags: e.tags }
1305
+ });
1306
+ }
1312
1307
  };
1313
1308
  $ = De = __decorate([n(), __decorateMetadata("design:paramtypes", [
1314
1309
  o === void 0 ? Object : o,
package/package.json CHANGED
@@ -4,12 +4,12 @@
4
4
  "url": "https://github.com/organizzolini/codebase/issues"
5
5
  },
6
6
  "dependencies": {
7
- "@codependix/boundaries": "0.0.14",
8
- "@codependix/configuration": "0.0.15",
9
- "@codependix/core": "0.0.13",
10
- "@codependix/file-imports": "0.0.13",
11
- "@codependix/nestjs-modules": "0.0.13",
12
- "@codependix/nx-projects": "0.0.14",
7
+ "@codependix/boundaries": "0.0.16",
8
+ "@codependix/configuration": "0.0.17",
9
+ "@codependix/core": "0.0.15",
10
+ "@codependix/file-imports": "0.0.15",
11
+ "@codependix/nestjs-modules": "0.0.15",
12
+ "@codependix/nx-projects": "0.0.16",
13
13
  "@nestjs/common": "^11.1.21 || ^12.0.1",
14
14
  "pino": "^10.3.1",
15
15
  "pino-pretty": "^13.1.3",
@@ -66,5 +66,5 @@
66
66
  "strict": true
67
67
  },
68
68
  "types": "./dist/src/index.d.ts",
69
- "version": "0.0.14"
69
+ "version": "0.0.16"
70
70
  }