@codependix/cli 0.0.3
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/LICENSE +21 -0
- package/README.md +894 -0
- package/dist/main.module-B07sXqnE.js +718 -0
- package/dist/src/index.d.ts +511 -0
- package/dist/src/index.js +2 -0
- package/dist/src/main.d.ts +1 -0
- package/dist/src/main.js +15 -0
- package/package.json +77 -0
package/README.md
ADDED
|
@@ -0,0 +1,894 @@
|
|
|
1
|
+
# πΈοΈ Codependix CLI
|
|
2
|
+
|
|
3
|
+
**Exports a project's dependency graphs β Nx, NestJS, and file-level imports β as JSON and Markdown diagrams, and gates the rules those graphs are judged against.**
|
|
4
|
+
|
|
5
|
+
Codependix reads what each project depends on and renders it four ways: the
|
|
6
|
+
Nx project graph, a NestJS project's module graph, a TypeScript project's own
|
|
7
|
+
file-level import graph, and a Python project's own file-level import graph.
|
|
8
|
+
Each graph is delivered to whichever destinations
|
|
9
|
+
`codependix.config.ts` names for that project β a JSON file, a Markdown anchor
|
|
10
|
+
block spliced into an existing file such as a `README.md`, or both. The same
|
|
11
|
+
built graphs are then judged against whatever rules the configuration
|
|
12
|
+
declares β see [`@codependix/boundaries`](../codependix-boundaries/README.md).
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pnpm add --filter <project> --save-dev @codependix/cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
codependix map --write
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
One command, `map`, and no per-graph-type subcommand. Which graphs run for a
|
|
25
|
+
project, where its export lands, and which rules judge it is entirely a
|
|
26
|
+
function of the configuration file; see
|
|
27
|
+
[`configuration/codependix.config.ts`](../../configuration/codependix.config.ts)
|
|
28
|
+
for this repository's own.
|
|
29
|
+
|
|
30
|
+
| Flag | Meaning |
|
|
31
|
+
| ---- | ------- |
|
|
32
|
+
| `--check [check]` | Fail on a comma-separated set drawn from `boundaries` and `reports` |
|
|
33
|
+
| `--config [config]` | Path to a `codependix.config.ts`. Searched for upward from `--directory` when omitted |
|
|
34
|
+
| `-d, --directory [directory]` | Workspace root whose Nx project graph this run reads. Defaults to the working directory |
|
|
35
|
+
| `--exclude [exclude]` | Comma-separated globs overriding the configured `exclude`. Refused when `exclude` was never configured |
|
|
36
|
+
| `--file-imports` | Build, check, and write the `fileImports` graph type for this run |
|
|
37
|
+
| `--no-file-imports` | Skip the `fileImports` graph type for this run |
|
|
38
|
+
| `-f, --format [format]` | What to print to standard output, one of `json` and `markdown` (default: `markdown`). A graph type prints only when the run also configured a workspace destination for it, even if its own toggle flag enabled it |
|
|
39
|
+
| `--include [include]` | Comma-separated globs overriding the configured `include`. Refused when `include` was never configured |
|
|
40
|
+
| `--json-output [jsonOutput]` | Write every active graph type's data, combined into one JSON file at this path, keyed by graph type name. A type appears only when the run also configured a workspace destination for it |
|
|
41
|
+
| `--markdown-output [markdownOutput]` | Write every active graph type's rendered diagram, combined into one Markdown file at this path. A type appears only when the run also configured a workspace destination for it |
|
|
42
|
+
| `--nestjs-modules` | Build, check, and write the `nestjsModules` graph type for this run |
|
|
43
|
+
| `--no-nestjs-modules` | Skip the `nestjsModules` graph type for this run |
|
|
44
|
+
| `--nx-projects` | Build, check, and write the `nxProjects` graph type for this run |
|
|
45
|
+
| `--no-nx-projects` | Skip the `nxProjects` graph type for this run |
|
|
46
|
+
| `--projects [projects]` | Comma-separated project names or roots to export for, as globs, beyond those `include` already selects. Also narrows the Workspace Graph and `--check boundaries` to the named set |
|
|
47
|
+
| `--tags [tags]` | Comma-separated Nx tags to export for, beyond what `include` already selects. Also narrows the Workspace Graph and `--check boundaries` to the tagged projects |
|
|
48
|
+
| `--write` | Writes every configured export |
|
|
49
|
+
|
|
50
|
+
### The two `--check` names
|
|
51
|
+
|
|
52
|
+
`--check` names which finding fails the run, because the two findings belong
|
|
53
|
+
on opposite sides of a pull request.
|
|
54
|
+
|
|
55
|
+
| `--check` value | What fails the run |
|
|
56
|
+
| --------------- | ------------------ |
|
|
57
|
+
| `boundaries` | An edge, or a cycle, breaking a declared rule |
|
|
58
|
+
| `reports` | A configured destination no longer holding what a fresh run would write |
|
|
59
|
+
|
|
60
|
+
A boundary violation is caused by the branch and fixed by the branch, so it
|
|
61
|
+
gates every pull request. A stale export moves with the workspace it
|
|
62
|
+
describes and would fail every branch that changed a project graph rather
|
|
63
|
+
than anything the branch itself did, so it is published on the default branch
|
|
64
|
+
and gated nowhere. That is the same split
|
|
65
|
+
[`callidescope`](../callidescope-cli/README.md) makes between `--check depth`
|
|
66
|
+
and `--check reports`, and `reports` is deliberately spelled the same in both:
|
|
67
|
+
it is the same finding, and two names for it would make the two reports
|
|
68
|
+
unreadable together.
|
|
69
|
+
|
|
70
|
+
- `--check boundaries` reads no destination and writes nothing, so it leaves
|
|
71
|
+
every committed export exactly as it found it.
|
|
72
|
+
- `--write --check boundaries` is legal β a boundary has no destination to be
|
|
73
|
+
stale.
|
|
74
|
+
- `--write --check reports` is refused: an export cannot be stale in the run
|
|
75
|
+
that just wrote it.
|
|
76
|
+
- A bare `--check`, or one whose value is only separators, is refused. Read as
|
|
77
|
+
"gate nothing" it would be a gate that cannot fail, which is worse than no
|
|
78
|
+
gate at all because it looks like protection.
|
|
79
|
+
|
|
80
|
+
### When no mode is named
|
|
81
|
+
|
|
82
|
+
Naming neither `--check` nor `--write` is asked about, as a three-item menu β
|
|
83
|
+
`boundaries`, `reports`, `write`.
|
|
84
|
+
|
|
85
|
+
There is no flag that turns the prompt off, because there is nothing to turn
|
|
86
|
+
off where it cannot be answered: a run whose stdin is not a terminal fails
|
|
87
|
+
immediately, naming the flag it wanted, rather than drawing a menu. That
|
|
88
|
+
refusal is load-bearing rather than defensive β `prompts` does not fail on a
|
|
89
|
+
non-terminal stdin. It renders the menu, never resolves, and lets the process
|
|
90
|
+
exit 0, which would turn a scripted run that forgot its mode flag into a
|
|
91
|
+
silent success that wrote nothing. Dismissing the menu at a terminal is
|
|
92
|
+
reported the same way, as a rejected command line rather than a crash.
|
|
93
|
+
|
|
94
|
+
No mode is ever inferred, which is the rule `codometer`'s and
|
|
95
|
+
`callidescope`'s flags follow too.
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
nx run codebase:codependix:check
|
|
99
|
+
nx run codebase:codependix:write
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
One project failing β a missing anchor, or a NestJS project that fails to
|
|
103
|
+
boot its container β is reported and does not stop the rest: `--write` either
|
|
104
|
+
fully succeeds or names exactly which projects failed while still completing
|
|
105
|
+
every other one.
|
|
106
|
+
|
|
107
|
+
### Where the output goes
|
|
108
|
+
|
|
109
|
+
Printing and delivering are separate. `--format` decides what reaches standard
|
|
110
|
+
output; the destinations under `workspace` in the configuration and
|
|
111
|
+
`--json-output`/`--markdown-output` decide what reaches a file.
|
|
112
|
+
|
|
113
|
+
Markdown is the console default because it is the one rendering that reads in a
|
|
114
|
+
terminal and pastes into an issue. `--format json` is for a machine reading
|
|
115
|
+
standard output, so every diagnostic goes to standard error β keeping standard
|
|
116
|
+
output clean and parseable as data.
|
|
117
|
+
|
|
118
|
+
## Packages
|
|
119
|
+
|
|
120
|
+
| Package | Role |
|
|
121
|
+
| ------- | ---- |
|
|
122
|
+
| [`@codependix/cli`](.) | Orchestrates the four graph builders and delivers their exports |
|
|
123
|
+
| [`@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 |
|
|
124
|
+
| [`@codependix/configuration`](../codependix-configuration/README.md) | Reads `codependix.config.ts` and resolves per-project export destinations and boundary rules |
|
|
125
|
+
| [`@codependix/examples`](../codependix-examples/README.md) | Sixteen subjects built to be graphed, each with the guide codependix renders from it |
|
|
126
|
+
| [`@codependix/nx-projects`](../codependix-nx-projects/README.md) | Builds a project's Nx Neighborhood and the whole-workspace Workspace Graph |
|
|
127
|
+
| [`@codependix/nestjs-modules`](../codependix-nestjs-modules/README.md) | Explores a NestJS project's container and builds its module graph |
|
|
128
|
+
| [`@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 |
|
|
129
|
+
|
|
130
|
+
## Agent skills
|
|
131
|
+
|
|
132
|
+
Agent skills for coding agents working with codependix are published in
|
|
133
|
+
[`@codependix/agents`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-agents):
|
|
134
|
+
|
|
135
|
+
| Skill | Description |
|
|
136
|
+
| ----- | ----------- |
|
|
137
|
+
| [`codependix-export`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-agents/skills/codependix-export) | Export dependency graphs and run boundary checks |
|
|
138
|
+
| [`codependix-configure`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-agents/skills/codependix-configure) | Configure graph types, export destinations, and boundary rules in `codependix.config.ts` |
|
|
139
|
+
| [`codependix-navigate`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-agents/skills/codependix-navigate) | Query dependency paths and navigate package relationships |
|
|
140
|
+
| [`codependix-triage`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-agents/skills/codependix-triage) | Triage boundary violations and report drift |
|
|
141
|
+
|
|
142
|
+
## Examples
|
|
143
|
+
|
|
144
|
+
Every behavior described above β and every one that is not, because it lived
|
|
145
|
+
only in a JSDoc comment until now β has a worked example rendered by the real
|
|
146
|
+
tool in
|
|
147
|
+
[`@codependix/examples`](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-examples):
|
|
148
|
+
|
|
149
|
+
- [README](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-examples) β one directory per example, each
|
|
150
|
+
readable on its own, plus configuring a first export destination and adopting
|
|
151
|
+
codependix in a workspace with no anchor blocks anywhere yet
|
|
152
|
+
- [AGENTS.md](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-examples/AGENTS.md) β a "codependix said X β open
|
|
153
|
+
this example" table, weighted toward the refusals and toward `--check`
|
|
154
|
+
staleness
|
|
155
|
+
|
|
156
|
+
## Start
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
nx run codependix-cli:start
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Test
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
nx run codependix-cli:vitest
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## π Conformetry
|
|
169
|
+
|
|
170
|
+
This project was generated from the [nestjs-command-project](../../configuration/conformetry-templates/nestjs-command-project) conformetry template.
|
|
171
|
+
|
|
172
|
+
## πΈοΈ Codependix
|
|
173
|
+
|
|
174
|
+
Dependency graphs exported by [codependix](https://github.com/Organizzolini/codebase/tree/main/packages/ic-suite/codependix/codependix-cli), regenerated by `nx run codebase:codependix:write`.
|
|
175
|
+
|
|
176
|
+
### Nx Neighborhood
|
|
177
|
+
|
|
178
|
+
<!-- codependix:start name="codependix-nx-projects" -->
|
|
179
|
+
```mermaid
|
|
180
|
+
graph LR
|
|
181
|
+
codependix_boundaries["codependix-boundaries"]
|
|
182
|
+
codependix_cli["codependix-cli"]
|
|
183
|
+
codependix_configuration["codependix-configuration"]
|
|
184
|
+
codependix_core["codependix-core"]
|
|
185
|
+
codependix_examples["codependix-examples"]
|
|
186
|
+
codependix_output["codependix-output"]
|
|
187
|
+
logger["logger"]
|
|
188
|
+
codependix_cli --> codependix_boundaries
|
|
189
|
+
codependix_cli --> codependix_configuration
|
|
190
|
+
codependix_cli --> codependix_core
|
|
191
|
+
codependix_cli --> codependix_output
|
|
192
|
+
codependix_cli --> logger
|
|
193
|
+
codependix_examples -.-> codependix_cli
|
|
194
|
+
classDef subject fill:#7c3aed,color:#fff,stroke:#4c1d95,stroke-width:2px
|
|
195
|
+
class codependix_cli subject
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
_Dashed edges are dependencies Nx inferred from configuration rather than from code._
|
|
199
|
+
<!-- codependix:end name="codependix-nx-projects" -->
|
|
200
|
+
|
|
201
|
+
### NestJS Module Graph
|
|
202
|
+
|
|
203
|
+
<!-- codependix:start name="codependix-nestjs-modules" -->
|
|
204
|
+
```mermaid
|
|
205
|
+
flowchart LR
|
|
206
|
+
AnchorsModule
|
|
207
|
+
BoundariesModule
|
|
208
|
+
BoundaryCheckModule
|
|
209
|
+
CombinedOutputModule
|
|
210
|
+
ConfigModule([ConfigModule])
|
|
211
|
+
ConfigurationModule
|
|
212
|
+
DeliveryModule
|
|
213
|
+
DiscoveryModule
|
|
214
|
+
FileImportsWorkspaceGraphModule
|
|
215
|
+
GraphRunModule
|
|
216
|
+
InputModule
|
|
217
|
+
LoggerModule([LoggerModule])
|
|
218
|
+
MainModule
|
|
219
|
+
MapModule
|
|
220
|
+
ModuleGraphModule
|
|
221
|
+
NeighborhoodModule
|
|
222
|
+
NestjsModulesWorkspaceGraphModule
|
|
223
|
+
NestjsProjectModule
|
|
224
|
+
OverrideResolutionModule
|
|
225
|
+
PathModule
|
|
226
|
+
PathQueryModule
|
|
227
|
+
ProjectGraphsModule
|
|
228
|
+
PythonImportsModule
|
|
229
|
+
PythonModule
|
|
230
|
+
ReportingModule
|
|
231
|
+
RunContextModule
|
|
232
|
+
TypescriptModule
|
|
233
|
+
WorkspaceGraphModule
|
|
234
|
+
WorkspaceGraphsModule
|
|
235
|
+
BoundaryCheckModule --> BoundariesModule
|
|
236
|
+
BoundaryCheckModule --> ModuleGraphModule
|
|
237
|
+
BoundaryCheckModule --> NestjsProjectModule
|
|
238
|
+
BoundaryCheckModule --> PythonModule
|
|
239
|
+
BoundaryCheckModule --> TypescriptModule
|
|
240
|
+
BoundaryCheckModule --> WorkspaceGraphModule
|
|
241
|
+
CombinedOutputModule --> AnchorsModule
|
|
242
|
+
ConfigurationModule --> InputModule
|
|
243
|
+
ConfigurationModule --> OverrideResolutionModule
|
|
244
|
+
DeliveryModule --> AnchorsModule
|
|
245
|
+
GraphRunModule --> NeighborhoodModule
|
|
246
|
+
GraphRunModule --> ProjectGraphsModule
|
|
247
|
+
GraphRunModule --> PythonImportsModule
|
|
248
|
+
GraphRunModule --> WorkspaceGraphsModule
|
|
249
|
+
MainModule --> DiscoveryModule
|
|
250
|
+
MainModule --> MapModule
|
|
251
|
+
MainModule --> PathModule
|
|
252
|
+
MapModule --> BoundaryCheckModule
|
|
253
|
+
MapModule --> CombinedOutputModule
|
|
254
|
+
MapModule --> ConfigurationModule
|
|
255
|
+
MapModule --> GraphRunModule
|
|
256
|
+
MapModule --> ReportingModule
|
|
257
|
+
MapModule --> RunContextModule
|
|
258
|
+
PathModule --> ConfigurationModule
|
|
259
|
+
PathModule --> PathQueryModule
|
|
260
|
+
PathModule --> ReportingModule
|
|
261
|
+
PathModule --> RunContextModule
|
|
262
|
+
PathQueryModule --> FileImportsWorkspaceGraphModule
|
|
263
|
+
PathQueryModule --> ModuleGraphModule
|
|
264
|
+
PathQueryModule --> NestjsModulesWorkspaceGraphModule
|
|
265
|
+
PathQueryModule --> NestjsProjectModule
|
|
266
|
+
PathQueryModule --> PythonModule
|
|
267
|
+
PathQueryModule --> TypescriptModule
|
|
268
|
+
PathQueryModule --> WorkspaceGraphModule
|
|
269
|
+
ProjectGraphsModule --> ConfigurationModule
|
|
270
|
+
ProjectGraphsModule --> DeliveryModule
|
|
271
|
+
ProjectGraphsModule --> ModuleGraphModule
|
|
272
|
+
ProjectGraphsModule --> NeighborhoodModule
|
|
273
|
+
ProjectGraphsModule --> NestjsProjectModule
|
|
274
|
+
ProjectGraphsModule --> TypescriptModule
|
|
275
|
+
PythonImportsModule --> ConfigurationModule
|
|
276
|
+
PythonImportsModule --> DeliveryModule
|
|
277
|
+
PythonImportsModule --> PythonModule
|
|
278
|
+
ReportingModule --> BoundaryCheckModule
|
|
279
|
+
RunContextModule --> ConfigurationModule
|
|
280
|
+
RunContextModule --> NeighborhoodModule
|
|
281
|
+
WorkspaceGraphModule --> NeighborhoodModule
|
|
282
|
+
WorkspaceGraphsModule --> ConfigurationModule
|
|
283
|
+
WorkspaceGraphsModule --> DeliveryModule
|
|
284
|
+
WorkspaceGraphsModule --> FileImportsWorkspaceGraphModule
|
|
285
|
+
WorkspaceGraphsModule --> ModuleGraphModule
|
|
286
|
+
WorkspaceGraphsModule --> NestjsModulesWorkspaceGraphModule
|
|
287
|
+
WorkspaceGraphsModule --> NestjsProjectModule
|
|
288
|
+
WorkspaceGraphsModule --> PythonModule
|
|
289
|
+
WorkspaceGraphsModule --> TypescriptModule
|
|
290
|
+
WorkspaceGraphsModule --> WorkspaceGraphModule
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
_Rounded modules are global: every module can inject them, so their edges are left out._
|
|
294
|
+
<!-- codependix:end name="codependix-nestjs-modules" -->
|
|
295
|
+
|
|
296
|
+
### File Imports
|
|
297
|
+
|
|
298
|
+
<!-- codependix:start name="codependix-file-imports" -->
|
|
299
|
+
```mermaid
|
|
300
|
+
graph LR
|
|
301
|
+
file_callidescope_config_ts["callidescope.config.ts"]
|
|
302
|
+
file_codependix_config_ts["codependix.config.ts"]
|
|
303
|
+
file_codometer_config_ts["codometer.config.ts"]
|
|
304
|
+
file_eslint_config_ts["eslint.config.ts"]
|
|
305
|
+
file_src_constants_ts["src/constants.ts"]
|
|
306
|
+
file_src_index_ts["src/index.ts"]
|
|
307
|
+
file_src_index_unit_test_ts["src/index.unit.test.ts"]
|
|
308
|
+
file_src_main_end_to_end_test_ts["src/main.end-to-end.test.ts"]
|
|
309
|
+
file_src_main_module_ts["src/main.module.ts"]
|
|
310
|
+
file_src_main_ts["src/main.ts"]
|
|
311
|
+
file_src_modules_map_map_command_integration_test_ts["src/modules/map/map.command.integration.test.ts"]
|
|
312
|
+
file_src_modules_map_map_command_ts["src/modules/map/map.command.ts"]
|
|
313
|
+
file_src_modules_map_map_command_unit_test_ts["src/modules/map/map.command.unit.test.ts"]
|
|
314
|
+
file_src_modules_map_map_constants_ts["src/modules/map/map.constants.ts"]
|
|
315
|
+
file_src_modules_map_map_module_ts["src/modules/map/map.module.ts"]
|
|
316
|
+
file_src_modules_map_map_module_unit_test_ts["src/modules/map/map.module.unit.test.ts"]
|
|
317
|
+
file_src_modules_map_map_types_ts["src/modules/map/map.types.ts"]
|
|
318
|
+
file_src_modules_path_path_command_integration_test_ts["src/modules/path/path.command.integration.test.ts"]
|
|
319
|
+
file_src_modules_path_path_command_ts["src/modules/path/path.command.ts"]
|
|
320
|
+
file_src_modules_path_path_command_unit_test_ts["src/modules/path/path.command.unit.test.ts"]
|
|
321
|
+
file_src_modules_path_path_constants_ts["src/modules/path/path.constants.ts"]
|
|
322
|
+
file_src_modules_path_path_module_ts["src/modules/path/path.module.ts"]
|
|
323
|
+
file_src_modules_path_path_module_unit_test_ts["src/modules/path/path.module.unit.test.ts"]
|
|
324
|
+
file_src_modules_path_path_types_ts["src/modules/path/path.types.ts"]
|
|
325
|
+
file_src_repl_ts["src/repl.ts"]
|
|
326
|
+
file_src_repl_unit_test_ts["src/repl.unit.test.ts"]
|
|
327
|
+
file_testing_mocks_ts["testing/mocks.ts"]
|
|
328
|
+
file_testing_setup_ts["testing/setup.ts"]
|
|
329
|
+
file_vite_config_ts["vite.config.ts"]
|
|
330
|
+
file_vitest_config_ts["vitest.config.ts"]
|
|
331
|
+
file_src_index_unit_test_ts --> file_src_index_ts
|
|
332
|
+
file_src_main_end_to_end_test_ts --> file_src_constants_ts
|
|
333
|
+
file_src_main_module_ts --> file_src_constants_ts
|
|
334
|
+
file_src_main_module_ts --> file_src_modules_map_map_module_ts
|
|
335
|
+
file_src_main_module_ts --> file_src_modules_path_path_module_ts
|
|
336
|
+
file_src_main_ts --> file_src_main_module_ts
|
|
337
|
+
file_src_modules_map_map_command_integration_test_ts --> file_src_main_module_ts
|
|
338
|
+
file_src_modules_map_map_command_integration_test_ts --> file_src_modules_map_map_command_ts
|
|
339
|
+
file_src_modules_map_map_command_unit_test_ts --> file_src_modules_map_map_command_ts
|
|
340
|
+
file_src_modules_map_map_module_ts --> file_src_modules_map_map_command_ts
|
|
341
|
+
file_src_modules_map_map_module_unit_test_ts --> file_src_modules_map_map_command_ts
|
|
342
|
+
file_src_modules_map_map_module_unit_test_ts --> file_src_modules_map_map_module_ts
|
|
343
|
+
file_src_modules_path_path_command_integration_test_ts --> file_src_main_module_ts
|
|
344
|
+
file_src_modules_path_path_command_integration_test_ts --> file_src_modules_path_path_command_ts
|
|
345
|
+
file_src_modules_path_path_command_integration_test_ts --> file_src_modules_path_path_types_ts
|
|
346
|
+
file_src_modules_path_path_command_ts --> file_src_modules_path_path_constants_ts
|
|
347
|
+
file_src_modules_path_path_command_ts --> file_src_modules_path_path_types_ts
|
|
348
|
+
file_src_modules_path_path_command_unit_test_ts --> file_src_modules_path_path_command_ts
|
|
349
|
+
file_src_modules_path_path_command_unit_test_ts --> file_src_modules_path_path_constants_ts
|
|
350
|
+
file_src_modules_path_path_module_ts --> file_src_modules_path_path_command_ts
|
|
351
|
+
file_src_modules_path_path_module_unit_test_ts --> file_src_modules_path_path_command_ts
|
|
352
|
+
file_src_modules_path_path_module_unit_test_ts --> file_src_modules_path_path_module_ts
|
|
353
|
+
file_src_repl_ts --> file_src_main_module_ts
|
|
354
|
+
```
|
|
355
|
+
<!-- codependix:end name="codependix-file-imports" -->
|
|
356
|
+
|
|
357
|
+
<!-- callidescope:start -->
|
|
358
|
+
|
|
359
|
+
## π Callidescope
|
|
360
|
+
|
|
361
|
+
Call stacks traced through `packages/ic-suite/codependix/codependix-cli`, deepest first. Each frame shows what it takes, what it returns, and what its documentation says.
|
|
362
|
+
|
|
363
|
+
| Measure | Value |
|
|
364
|
+
| --- | --- |
|
|
365
|
+
| Callables | 42 |
|
|
366
|
+
| Files | 19 |
|
|
367
|
+
| Calls traced | 37 |
|
|
368
|
+
| Call stacks | 19 |
|
|
369
|
+
| Deepest stack | 15 |
|
|
370
|
+
| Stacks through recursion | 0 |
|
|
371
|
+
| Unfollowable calls | 2 |
|
|
372
|
+
|
|
373
|
+
### Limits
|
|
374
|
+
|
|
375
|
+
What this project is judged against, as declared in its own `callidescope.config.ts`.
|
|
376
|
+
|
|
377
|
+
| Limit | Value |
|
|
378
|
+
| --- | --- |
|
|
379
|
+
| `maximumDepth` | 15 |
|
|
380
|
+
| `maximumBreadth` | 7 |
|
|
381
|
+
|
|
382
|
+
### Call stacks (depth)
|
|
383
|
+
|
|
384
|
+
**1. `MapCommand.run`** β depth β₯ 15 Β· decorated-method
|
|
385
|
+
|
|
386
|
+
```text
|
|
387
|
+
π MapCommand.run(_passedParameters: string[], options?: MapCommandOptions): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:377]
|
|
388
|
+
β³ Runs whatever the command line asked for: exports, boundaries, or both.
|
|
389
|
+
ββ> MapCommand.runMode(β¦): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:125]
|
|
390
|
+
β³ Runs the passes a resolved mode selected, and reports what they found.
|
|
391
|
+
ββ> MapCommand.runExports(context: GraphRunContext): Promise<MapRunResult> [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:106]
|
|
392
|
+
β³ Runs the export pass, warning when nothing was selected.
|
|
393
|
+
ββ> GraphRunService.run(context: GraphRunContext): Promise<MapRunResult> [packages/ic-suite/codependix/codependix-output/src/modules/graph-run/graph-run.service.ts:144]
|
|
394
|
+
β³ Runs every configured graph export against an already-resolved context.
|
|
395
|
+
ββ> GraphRunService.runPythonImportGraphs(context: GraphRunContext): GraphRunOutcome [packages/ic-suite/codependix/codependix-output/src/modules/graph-run/graph-run.service.ts:266]
|
|
396
|
+
β³ Builds and delivers every configured Python file-level import graph export.
|
|
397
|
+
ββ> PythonImportsService.runGraphs(context: GraphRunContext): GraphRunOutcome [packages/ic-suite/codependix/codependix-output/src/modules/python-imports/python-imports.service.ts:135]
|
|
398
|
+
β³ Builds and delivers every configured Python file-level import graph export.
|
|
399
|
+
ββ> PythonImportsService.runProject(β¦): ProjectRunResult [packages/ic-suite/codependix/codependix-output/src/modules/python-imports/python-imports.service.ts:99]
|
|
400
|
+
β³ Builds, renders, and delivers one project's Python import graph.
|
|
401
|
+
ββ> PythonService.buildGraph(project: PythonProject): PythonImportGraph [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python.service.ts:39]
|
|
402
|
+
β³ Builds a Python project's internal file-level import Graph.
|
|
403
|
+
ββ> PythonImportGraphService.buildGraph(project: PythonProject): PythonImportGraph [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:180]
|
|
404
|
+
β³ Builds a Python project's internal file-level import Graph.
|
|
405
|
+
ββ> PythonImportGraphService.flatMap(β¦)(this: undefined, sourceFileName: string): PythonImportGraphEdge[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:185]
|
|
406
|
+
ββ> PythonImportGraphService.collectEdgesForFile(β¦): PythonImportGraphEdge[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:64]
|
|
407
|
+
β³ Collects every internal import edge one source file declares.
|
|
408
|
+
ββ> PythonImportParserService.parseImportSpecifiers(source: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:158]
|
|
409
|
+
β³ Parses every module-level import statement in a Python source file.
|
|
410
|
+
ββ> PythonImportParserService.parseStatement(statement: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:126]
|
|
411
|
+
β³ Parses one joined statement into the module(s) it names.
|
|
412
|
+
ββ> PythonImportParserService.parseImportStatement(statement: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:105]
|
|
413
|
+
β³ Parses a joined `import <specifiers>` statement.
|
|
414
|
+
ββ> PythonImportParserService.map(β¦)(modulePath: string): { level: number; modulePath: string; } [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:122]
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
**2. `PathCommand.run`** β depth β₯ 12 Β· decorated-method
|
|
418
|
+
|
|
419
|
+
```text
|
|
420
|
+
π PathCommand.run(passedParameters: string[], options?: PathCommandOptions): Promise<void> [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:214]
|
|
421
|
+
β³ Runs the path query between two nodes across active graph levels.
|
|
422
|
+
ββ> PathQueryService.query(args: PathQueryArguments): Promise<CombinedPathResults> [packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:296]
|
|
423
|
+
β³ Queries every enabled graph type for a connecting path between two nodes.
|
|
424
|
+
ββ> PathQueryService.queryFileImports(args: PathQueryArguments): null | string[] [packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:115]
|
|
425
|
+
β³ Queries the file-imports workspace graph for a path between two files.
|
|
426
|
+
ββ> PathQueryService.map(β¦)(project: PythonProject): PythonImportGraph [packages/ic-suite/codependix/codependix-output/src/modules/path-query/path-query.service.ts:118]
|
|
427
|
+
ββ> PythonService.buildGraph(project: PythonProject): PythonImportGraph [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python.service.ts:39]
|
|
428
|
+
β³ Builds a Python project's internal file-level import Graph.
|
|
429
|
+
ββ> PythonImportGraphService.buildGraph(project: PythonProject): PythonImportGraph [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:180]
|
|
430
|
+
β³ Builds a Python project's internal file-level import Graph.
|
|
431
|
+
ββ> PythonImportGraphService.flatMap(β¦)(this: undefined, sourceFileName: string): PythonImportGraphEdge[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:185]
|
|
432
|
+
ββ> PythonImportGraphService.collectEdgesForFile(β¦): PythonImportGraphEdge[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-graph.service.ts:64]
|
|
433
|
+
β³ Collects every internal import edge one source file declares.
|
|
434
|
+
ββ> PythonImportParserService.parseImportSpecifiers(source: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:158]
|
|
435
|
+
β³ Parses every module-level import statement in a Python source file.
|
|
436
|
+
ββ> PythonImportParserService.parseStatement(statement: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:126]
|
|
437
|
+
β³ Parses one joined statement into the module(s) it names.
|
|
438
|
+
ββ> PythonImportParserService.parseImportStatement(statement: string): PythonImportSpecifier[] [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:105]
|
|
439
|
+
β³ Parses a joined `import <specifiers>` statement.
|
|
440
|
+
ββ> PythonImportParserService.map(β¦)(modulePath: string): { level: number; modulePath: string; } [packages/ic-suite/codependix/codependix-file-imports/src/modules/python/python-import-parser.service.ts:122]
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**3. `MapCommand.parseDirectory`** β depth 4 Β· decorated-method
|
|
444
|
+
|
|
445
|
+
```text
|
|
446
|
+
π MapCommand.parseDirectory(value: string | undefined): string [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:191]
|
|
447
|
+
β³ Parses the directory whose Nx workspace this run reads.
|
|
448
|
+
ββ> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:294]
|
|
449
|
+
β³ Parses a path option that falls back to the working directory.
|
|
450
|
+
ββ> InputService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:87]
|
|
451
|
+
β³ Parses a path option that falls back to the working directory.
|
|
452
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
453
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
<details>
|
|
457
|
+
<summary>16 more call stacks</summary>
|
|
458
|
+
|
|
459
|
+
**4. `MapCommand.parseExclude`** β depth 4 Β· decorated-method
|
|
460
|
+
|
|
461
|
+
```text
|
|
462
|
+
π MapCommand.parseExclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:207]
|
|
463
|
+
β³ Parses `--exclude`, a comma-separated list of globs overriding the configured `exclude`.
|
|
464
|
+
ββ> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
|
|
465
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
466
|
+
ββ> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
|
|
467
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
468
|
+
ββ> InputService.map(β¦)(entry: string): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:59]
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
**5. `MapCommand.parseInclude`** β depth 4 Β· decorated-method
|
|
472
|
+
|
|
473
|
+
```text
|
|
474
|
+
π MapCommand.parseInclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:246]
|
|
475
|
+
β³ Parses `--include`, a comma-separated list of globs overriding the configured `include`.
|
|
476
|
+
ββ> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
|
|
477
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
478
|
+
ββ> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
|
|
479
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
480
|
+
ββ> InputService.map(β¦)(entry: string): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:59]
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
**6. `PathCommand.parseDirectory`** β depth 4 Β· decorated-method
|
|
484
|
+
|
|
485
|
+
```text
|
|
486
|
+
π PathCommand.parseDirectory(value: string | undefined): string [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:98]
|
|
487
|
+
β³ Parses the directory whose Nx workspace this run reads.
|
|
488
|
+
ββ> ConfigurationService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:294]
|
|
489
|
+
β³ Parses a path option that falls back to the working directory.
|
|
490
|
+
ββ> InputService.parsePathOption(value: string | undefined): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:87]
|
|
491
|
+
β³ Parses a path option that falls back to the working directory.
|
|
492
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
493
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**7. `PathCommand.parseExclude`** β depth 4 Β· decorated-method
|
|
497
|
+
|
|
498
|
+
```text
|
|
499
|
+
π PathCommand.parseExclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:107]
|
|
500
|
+
β³ Parses `--exclude`, a comma-separated list of globs overriding the configured `exclude`.
|
|
501
|
+
ββ> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
|
|
502
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
503
|
+
ββ> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
|
|
504
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
505
|
+
ββ> InputService.map(β¦)(entry: string): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:59]
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
**8. `PathCommand.parseInclude`** β depth 4 Β· decorated-method
|
|
509
|
+
|
|
510
|
+
```text
|
|
511
|
+
π PathCommand.parseInclude(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:139]
|
|
512
|
+
β³ Parses `--include`, a comma-separated list of globs overriding the configured `include`.
|
|
513
|
+
ββ> ConfigurationService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:279]
|
|
514
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
515
|
+
ββ> InputService.parseCommaDelimitedOption(value: string | undefined): string[] [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:54]
|
|
516
|
+
β³ Parses a comma-separated list option, dropping blank entries.
|
|
517
|
+
ββ> InputService.map(β¦)(entry: string): string [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:59]
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
**9. `MapCommand.parseConfig`** β depth 3 Β· decorated-method
|
|
521
|
+
|
|
522
|
+
```text
|
|
523
|
+
π MapCommand.parseConfig(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:182]
|
|
524
|
+
β³ Parses the optional configuration path from command-line input.
|
|
525
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
526
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
527
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
528
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
**10. `MapCommand.parseFormat`** β depth 3 Β· decorated-method
|
|
532
|
+
|
|
533
|
+
```text
|
|
534
|
+
π MapCommand.parseFormat(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:231]
|
|
535
|
+
β³ Parses what `--format` prints to standard output.
|
|
536
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
537
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
538
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
539
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
**11. `MapCommand.parseJsonOutput`** β depth 3 Β· decorated-method
|
|
543
|
+
|
|
544
|
+
```text
|
|
545
|
+
π MapCommand.parseJsonOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:259]
|
|
546
|
+
β³ Parses `--json-output`, the path to write every active graph type's combined JSON data to, keyed by graph type name.
|
|
547
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
548
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
549
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
550
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
**12. `MapCommand.parseMarkdownOutput`** β depth 3 Β· decorated-method
|
|
554
|
+
|
|
555
|
+
```text
|
|
556
|
+
π MapCommand.parseMarkdownOutput(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:272]
|
|
557
|
+
β³ Parses `--markdown-output`, the path to write every active graph type's combined, anchor-spliced Markdown diagram to.
|
|
558
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
559
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
560
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
561
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
**13. `MapCommand.parseProjects`** β depth 3 Β· decorated-method
|
|
565
|
+
|
|
566
|
+
```text
|
|
567
|
+
π MapCommand.parseProjects(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:336]
|
|
568
|
+
β³ Parses the projects a run exports for beyond `include`. **Widening, and narrowing.** A named project is added toβ¦
|
|
569
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
570
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
571
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
572
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
**14. `MapCommand.parseTags`** β depth 3 Β· decorated-method
|
|
576
|
+
|
|
577
|
+
```text
|
|
578
|
+
π MapCommand.parseTags(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:349]
|
|
579
|
+
β³ Parses the Nx tags a run exports for, matched exactly against a project's own tags.
|
|
580
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
581
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
582
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
583
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
**15. `MapCommand.parseWrite`** β depth 3 Β· decorated-method
|
|
587
|
+
|
|
588
|
+
```text
|
|
589
|
+
π MapCommand.parseWrite(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:359]
|
|
590
|
+
β³ Parses the `--write` flag from command-line input.
|
|
591
|
+
ββ> ConfigurationService.parseFlagOption(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:284]
|
|
592
|
+
β³ Parses a valueless boolean flag, which is present or it is not.
|
|
593
|
+
ββ> InputService.parseFlagOption(value: boolean | undefined): boolean [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:70]
|
|
594
|
+
β³ Parses a valueless boolean flag, which is present or it is not.
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
**16. `PathCommand.parseConfig`** β depth 3 Β· decorated-method
|
|
598
|
+
|
|
599
|
+
```text
|
|
600
|
+
π PathCommand.parseConfig(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:89]
|
|
601
|
+
β³ Parses the optional configuration path from command-line input.
|
|
602
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
603
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
604
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
605
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
**17. `PathCommand.parseFormat`** β depth 3 Β· decorated-method
|
|
609
|
+
|
|
610
|
+
```text
|
|
611
|
+
π PathCommand.parseFormat(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:130]
|
|
612
|
+
β³ Parses what `--format` prints to standard output. Defaults to Markdown when the flag was left off entirely.
|
|
613
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
614
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
615
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
616
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
**18. `PathCommand.parseProjects`** β depth 3 Β· decorated-method
|
|
620
|
+
|
|
621
|
+
```text
|
|
622
|
+
π PathCommand.parseProjects(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:194]
|
|
623
|
+
β³ Parses the projects a query searches across beyond `include`.
|
|
624
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
625
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
626
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
627
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
**19. `PathCommand.parseTags`** β depth 3 Β· decorated-method
|
|
631
|
+
|
|
632
|
+
```text
|
|
633
|
+
π PathCommand.parseTags(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:204]
|
|
634
|
+
β³ Parses the Nx tags a query searches across, matched exactly against project tags.
|
|
635
|
+
ββ> ConfigurationService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/configuration/configuration.service.ts:289]
|
|
636
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
637
|
+
ββ> InputService.parseOptionalOption(value: string | undefined): string | undefined [packages/ic-suite/codependix/codependix-configuration/src/modules/input/input.service.ts:75]
|
|
638
|
+
β³ Trims an optional string option, treating blank as absent.
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
</details>
|
|
642
|
+
|
|
643
|
+
### Breadth
|
|
644
|
+
|
|
645
|
+
| Callable | Breadth | Calls directly | Location |
|
|
646
|
+
| --- | --- | --- | --- |
|
|
647
|
+
| `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` |
|
|
648
|
+
| `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` |
|
|
649
|
+
| `MapCommand.run` | 4 | `ConfigurationService.selectMode`, `CombinedOutputService.resolveFormat`, `MapCommand.runMode`, `ReportingService.reportFailure` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:377` |
|
|
650
|
+
|
|
651
|
+
<details>
|
|
652
|
+
<summary>20 more callables</summary>
|
|
653
|
+
|
|
654
|
+
| Callable | Breadth | Calls directly | Location |
|
|
655
|
+
| --- | --- | --- | --- |
|
|
656
|
+
| `MapCommand.runExports` | 2 | `GraphRunService.run`, `ReportingService.reportEmptySelection` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:106` |
|
|
657
|
+
| `MapCommand.runCombinedOutput` | 1 | `CombinedOutputService.run` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:82` |
|
|
658
|
+
| `MapCommand.parseConfig` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:182` |
|
|
659
|
+
| `MapCommand.parseDirectory` | 1 | `ConfigurationService.parsePathOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:191` |
|
|
660
|
+
| `MapCommand.parseExclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:207` |
|
|
661
|
+
| `MapCommand.parseFormat` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:231` |
|
|
662
|
+
| `MapCommand.parseInclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:246` |
|
|
663
|
+
| `MapCommand.parseJsonOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:259` |
|
|
664
|
+
| `MapCommand.parseMarkdownOutput` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:272` |
|
|
665
|
+
| `MapCommand.parseProjects` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:336` |
|
|
666
|
+
| `MapCommand.parseTags` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:349` |
|
|
667
|
+
| `MapCommand.parseWrite` | 1 | `ConfigurationService.parseFlagOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/map/map.command.ts:359` |
|
|
668
|
+
| `PathCommand.validateInputs` | 1 | `PathQueryService.resolveFormat` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:53` |
|
|
669
|
+
| `PathCommand.parseConfig` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:89` |
|
|
670
|
+
| `PathCommand.parseDirectory` | 1 | `ConfigurationService.parsePathOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:98` |
|
|
671
|
+
| `PathCommand.parseExclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:107` |
|
|
672
|
+
| `PathCommand.parseFormat` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:130` |
|
|
673
|
+
| `PathCommand.parseInclude` | 1 | `ConfigurationService.parseCommaDelimitedOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:139` |
|
|
674
|
+
| `PathCommand.parseProjects` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:194` |
|
|
675
|
+
| `PathCommand.parseTags` | 1 | `ConfigurationService.parseOptionalOption` | `packages/ic-suite/codependix/codependix-cli/src/modules/path/path.command.ts:204` |
|
|
676
|
+
|
|
677
|
+
</details>
|
|
678
|
+
<!-- callidescope:end -->
|
|
679
|
+
|
|
680
|
+
<!-- codometer:start -->
|
|
681
|
+
|
|
682
|
+
## β²οΈ Codometer
|
|
683
|
+
|
|
684
|
+
### Project
|
|
685
|
+
|
|
686
|
+

|
|
687
|
+

|
|
688
|
+

|
|
689
|
+

|
|
690
|
+
|
|
691
|
+
### Measured Targets
|
|
692
|
+
|
|
693
|
+

|
|
694
|
+
|
|
695
|
+
### TypeScript
|
|
696
|
+
|
|
697
|
+

|
|
698
|
+

|
|
699
|
+

|
|
700
|
+

|
|
701
|
+

|
|
702
|
+

|
|
703
|
+

|
|
704
|
+
|
|
705
|
+
### JavaScript
|
|
706
|
+
|
|
707
|
+

|
|
708
|
+

|
|
709
|
+

|
|
710
|
+

|
|
711
|
+

|
|
712
|
+

|
|
713
|
+

|
|
714
|
+

|
|
715
|
+

|
|
716
|
+

|
|
717
|
+

|
|
718
|
+

|
|
719
|
+

|
|
720
|
+

|
|
721
|
+
|
|
722
|
+
### Python
|
|
723
|
+
|
|
724
|
+

|
|
725
|
+

|
|
726
|
+

|
|
727
|
+

|
|
728
|
+

|
|
729
|
+

|
|
730
|
+

|
|
731
|
+

|
|
732
|
+

|
|
733
|
+

|
|
734
|
+

|
|
735
|
+

|
|
736
|
+
|
|
737
|
+
### JSON
|
|
738
|
+
|
|
739
|
+

|
|
740
|
+

|
|
741
|
+

|
|
742
|
+

|
|
743
|
+

|
|
744
|
+

|
|
745
|
+

|
|
746
|
+

|
|
747
|
+

|
|
748
|
+

|
|
749
|
+

|
|
750
|
+

|
|
751
|
+
|
|
752
|
+
### YAML
|
|
753
|
+
|
|
754
|
+

|
|
755
|
+

|
|
756
|
+

|
|
757
|
+

|
|
758
|
+

|
|
759
|
+

|
|
760
|
+

|
|
761
|
+

|
|
762
|
+

|
|
763
|
+

|
|
764
|
+

|
|
765
|
+
|
|
766
|
+
### TOML
|
|
767
|
+
|
|
768
|
+

|
|
769
|
+

|
|
770
|
+

|
|
771
|
+

|
|
772
|
+

|
|
773
|
+

|
|
774
|
+

|
|
775
|
+
|
|
776
|
+
### Shell
|
|
777
|
+
|
|
778
|
+

|
|
779
|
+

|
|
780
|
+

|
|
781
|
+

|
|
782
|
+

|
|
783
|
+

|
|
784
|
+

|
|
785
|
+

|
|
786
|
+

|
|
787
|
+

|
|
788
|
+

|
|
789
|
+
|
|
790
|
+
### SQL
|
|
791
|
+
|
|
792
|
+

|
|
793
|
+

|
|
794
|
+

|
|
795
|
+

|
|
796
|
+

|
|
797
|
+

|
|
798
|
+

|
|
799
|
+

|
|
800
|
+

|
|
801
|
+

|
|
802
|
+

|
|
803
|
+
|
|
804
|
+
### HCL
|
|
805
|
+
|
|
806
|
+

|
|
807
|
+

|
|
808
|
+

|
|
809
|
+

|
|
810
|
+

|
|
811
|
+

|
|
812
|
+

|
|
813
|
+

|
|
814
|
+

|
|
815
|
+
|
|
816
|
+
### CSS
|
|
817
|
+
|
|
818
|
+

|
|
819
|
+

|
|
820
|
+

|
|
821
|
+

|
|
822
|
+

|
|
823
|
+

|
|
824
|
+

|
|
825
|
+

|
|
826
|
+

|
|
827
|
+
|
|
828
|
+
### Conventions
|
|
829
|
+
|
|
830
|
+

|
|
831
|
+

|
|
832
|
+

|
|
833
|
+

|
|
834
|
+

|
|
835
|
+

|
|
836
|
+

|
|
837
|
+

|
|
838
|
+

|
|
839
|
+

|
|
840
|
+

|
|
841
|
+

|
|
842
|
+

|
|
843
|
+

|
|
844
|
+

|
|
845
|
+

|
|
846
|
+

|
|
847
|
+

|
|
848
|
+
|
|
849
|
+
### Jupyter
|
|
850
|
+
|
|
851
|
+

|
|
852
|
+

|
|
853
|
+

|
|
854
|
+

|
|
855
|
+

|
|
856
|
+

|
|
857
|
+

|
|
858
|
+

|
|
859
|
+

|
|
860
|
+

|
|
861
|
+

|
|
862
|
+

|
|
863
|
+

|
|
864
|
+

|
|
865
|
+

|
|
866
|
+

|
|
867
|
+

|
|
868
|
+

|
|
869
|
+

|
|
870
|
+

|
|
871
|
+
|
|
872
|
+
### Markdown
|
|
873
|
+
|
|
874
|
+

|
|
875
|
+

|
|
876
|
+

|
|
877
|
+

|
|
878
|
+

|
|
879
|
+

|
|
880
|
+

|
|
881
|
+

|
|
882
|
+

|
|
883
|
+

|
|
884
|
+

|
|
885
|
+

|
|
886
|
+

|
|
887
|
+

|
|
888
|
+

|
|
889
|
+

|
|
890
|
+

|
|
891
|
+

|
|
892
|
+

|
|
893
|
+

|
|
894
|
+
<!-- codometer:end -->
|