@codependix/nx 0.0.2 → 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/CHANGELOG.md +10 -0
- package/README.md +209 -98
- package/dist/{plugin-context.utilities-Bre57JBa.js → plugin-context.utilities-BR1ONpzC.js} +79 -36
- package/dist/src/executors/gate/executor.js +1 -1
- package/dist/src/executors/gate/hasher.d.ts +25 -0
- package/dist/src/executors/gate/hasher.js +10 -0
- package/dist/src/index.d.ts +57 -5
- package/dist/src/index.js +186 -50
- package/executors.json +2 -1
- package/package.json +9 -3
- package/src/executors/gate/loader.mjs +20 -0
- package/src/executors/gate/schema.json +28 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.0.3 (2026-10-13)
|
|
2
|
+
|
|
3
|
+
### 🩹 Fixes
|
|
4
|
+
|
|
5
|
+
- **callidescope,codependix,configuration:** 🐛 harden the codependix nx plugin for consumers outside this workspace ([#1444](https://github.com/organizzolini/codebase/pull/1444), [#1433](https://github.com/organizzolini/codebase/issues/1433))
|
|
6
|
+
|
|
7
|
+
### 🧱 Updated Dependencies
|
|
8
|
+
|
|
9
|
+
- Updated codependix-cli to 0.0.18
|
|
10
|
+
|
|
1
11
|
## 0.0.2 (2026-10-13)
|
|
2
12
|
|
|
3
13
|
### 🧱 Updated Dependencies
|
package/README.md
CHANGED
|
@@ -44,16 +44,19 @@ Register it in `nx.json`:
|
|
|
44
44
|
| `configurationPath` | Where the codependix configuration lives. `codependix.config.ts`, then `configuration/codependix.config.ts`, are searched when omitted |
|
|
45
45
|
| `gateTargetName` | Name of the inferred gate target. `codependix-gate` when omitted |
|
|
46
46
|
|
|
47
|
-
The gate runs the command line under `
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
metadata
|
|
51
|
-
|
|
47
|
+
The gate runs the command line under the `@swc-node/register` hooks, which
|
|
48
|
+
this plugin depends on and registers itself — the workspace does not need to
|
|
49
|
+
install them. The workspace root does need a `tsconfig.json` that emits
|
|
50
|
+
decorator metadata: the hooks read it from the working directory, the
|
|
51
|
+
boundary check boots NestJS containers from their TypeScript sources, and
|
|
52
|
+
constructor injection reads that metadata.
|
|
52
53
|
|
|
53
54
|
## Usage
|
|
54
55
|
|
|
55
|
-
The gate is inferred onto every project
|
|
56
|
-
dependency closure is the whole workspace
|
|
56
|
+
The gate is inferred onto every project described by a `project.json`,
|
|
57
|
+
except the workspace root, whose dependency closure is the whole workspace. A
|
|
58
|
+
project Nx infers from a `package.json` alone gets no gate until it is given
|
|
59
|
+
a `project.json` as well.
|
|
57
60
|
|
|
58
61
|
```bash
|
|
59
62
|
nx run lexico-entities:codependix-gate # one project
|
|
@@ -66,15 +69,20 @@ nx affected -t codependix-gate # only what changed
|
|
|
66
69
|
Each gate runs, from the workspace root:
|
|
67
70
|
|
|
68
71
|
```bash
|
|
69
|
-
node --import @
|
|
72
|
+
node --import <file URL of @codependix/nx/loader> <@codependix/cli/main> \
|
|
70
73
|
map --directory <workspaceRoot> --config <configurationPath> \
|
|
71
74
|
--check boundaries --projects <project>
|
|
72
75
|
```
|
|
73
76
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
`@codependix/nx/loader` registers the `@swc-node/register` hooks resolved from
|
|
78
|
+
this plugin's own location. The hook's own `@swc-node/register/esm-register`
|
|
79
|
+
would resolve them from the working directory instead — the consumer's root,
|
|
80
|
+
where a package manager such as pnpm does not expose this plugin's
|
|
81
|
+
dependencies. The loader and the command line's entry are both resolved
|
|
82
|
+
through package exports, so the same gate runs the TypeScript sources inside
|
|
83
|
+
this workspace and the built `dist/` files from an installed copy. Its output
|
|
84
|
+
is streamed to the task as it arrives, and the task passes only when it exits
|
|
85
|
+
zero.
|
|
78
86
|
|
|
79
87
|
**A dependency's broken boundary is that dependency's gate's business.** The
|
|
80
88
|
graphs are built over the project and everything it depends on, so a cycle
|
|
@@ -88,21 +96,76 @@ live in, the project's own `codependix.config.*`, and the codependix command
|
|
|
88
96
|
line itself — because no judged project depends on the code that decides its
|
|
89
97
|
verdict, a change to that code would otherwise replay every cached pass:
|
|
90
98
|
|
|
91
|
-
- When `@codependix/cli` is a package of the same workspace,
|
|
92
|
-
`{workspaceRoot}
|
|
93
|
-
|
|
94
|
-
`
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
- When `@codependix/cli` is a package of the same workspace, two
|
|
100
|
+
`{workspaceRoot}` inputs for it and for every workspace package it reaches
|
|
101
|
+
through `workspace:` dependencies: `<package>/package.json` and
|
|
102
|
+
`<package>/src/**/!(*.test.*|*.spec.*)` — the sources without their tests,
|
|
103
|
+
so a test-only edit to the command line invalidates no gate beyond that
|
|
104
|
+
package's own and its dependents'. File globs
|
|
105
|
+
rather than `{ "input", "projects" }` inputs, because Nx's affected
|
|
106
|
+
computation follows `{workspaceRoot}` globs and ignores the latter — so a
|
|
107
|
+
branch that changes the command line's sources selects every gate, and one
|
|
108
|
+
that changes only its tests does not. The tests are excluded inside the
|
|
109
|
+
glob rather than by a `!`-prefixed input, which the affected computation
|
|
110
|
+
ignores.
|
|
98
111
|
- When it is installed from a registry, an `externalDependencies` input naming
|
|
99
112
|
it and the `@codependix/*` packages it depends on, so a version bump
|
|
100
|
-
invalidates the cache.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
`
|
|
105
|
-
|
|
113
|
+
invalidates the cache. Nx hashes an external dependency together with
|
|
114
|
+
everything it depends on, so the `@codependix/*` packages beneath those are
|
|
115
|
+
covered too.
|
|
116
|
+
- In either case, `{workspaceRoot}/tsconfig.json` and every tsconfig it
|
|
117
|
+
`extends`. The loader (`@swc-node/register`) takes its compiler options —
|
|
118
|
+
`emitDecoratorMetadata` among them, which decides how NestJS sources
|
|
119
|
+
compile — from `SWC_NODE_PROJECT` or `TS_NODE_PROJECT`, else from the
|
|
120
|
+
`tsconfig.json` in the gate's working directory, the workspace root, and
|
|
121
|
+
never from a package's own. That file reaches its bases through `extends`,
|
|
122
|
+
so inference follows the chain much as TypeScript resolves it — a string
|
|
123
|
+
or an array, through every level, comments and trailing commas allowed,
|
|
124
|
+
`.json` appended to a path naming no file, and a bare package name taken
|
|
125
|
+
to its `tsconfig.json` or its `exports` (not to a `tsconfig` field in its
|
|
126
|
+
manifest, which is rare):
|
|
127
|
+
- A base in the workspace, by relative path or through a package of the
|
|
128
|
+
same workspace, is another `{workspaceRoot}` input. So is one that is
|
|
129
|
+
missing or cannot be parsed — the edit that fixes it invalidates the
|
|
130
|
+
gate — though what it would extend cannot be followed, and Nx's logger
|
|
131
|
+
warns naming it.
|
|
132
|
+
- A base an installed package provides, such as `@tsconfig/node24` —
|
|
133
|
+
named by package or by a path into `node_modules` — is named in an
|
|
134
|
+
`externalDependencies` input, so a version bump invalidates the cache,
|
|
135
|
+
but only when the root `package.json` declares the package from a
|
|
136
|
+
registry. Nx fails every task whose `externalDependencies` names a
|
|
137
|
+
package missing from its graph, so one declared only by another package,
|
|
138
|
+
or through `workspace:`, `file:`, `link:`, or `portal:`, is skipped with
|
|
139
|
+
a warning instead: declare it in the root `package.json` to have it
|
|
140
|
+
hashed.
|
|
141
|
+
- A base outside the workspace, or a package base that resolves to no file,
|
|
142
|
+
cannot be named by any input, and is skipped with a warning.
|
|
143
|
+
|
|
144
|
+
A `SWC_NODE_PROJECT` or `TS_NODE_PROJECT` pointing elsewhere is not
|
|
145
|
+
followed: add that file to the target's inputs yourself. Nor does a
|
|
146
|
+
gitignored base, such as a generated framework tsconfig, invalidate
|
|
147
|
+
anything: it is named, but Nx's file map leaves ignored files out.
|
|
148
|
+
|
|
149
|
+
Each workspace package is resolved on its own, through its entry rather than
|
|
150
|
+
its manifest, so one that cannot be resolved costs only its own inputs: Nx's
|
|
151
|
+
logger warns naming it, and every other package keeps its inputs. If the
|
|
152
|
+
command line itself cannot be resolved while the graph is built, the tool
|
|
153
|
+
inputs are left out and the warning names it — never failing the graph. The
|
|
154
|
+
tsconfig chain is resolved apart from the command line, so either failing
|
|
155
|
+
keeps the other's inputs. The
|
|
156
|
+
target declares no `configurations`, so an aggregator run with
|
|
157
|
+
`--configuration=check` falls through to the defaults.
|
|
158
|
+
|
|
159
|
+
**A gate whose `projects` or `tags` select anything other than its own project
|
|
160
|
+
is never replayed from the cache.** Its inputs cover its own project and that project's dependencies,
|
|
161
|
+
not the projects such a run judges, so a hash built from them could replay a
|
|
162
|
+
pass after an edit to the very project that now fails. The executor's hasher
|
|
163
|
+
gives such a run a hash no other run shares, whether the selection came from
|
|
164
|
+
the command line, the target's options, or a configuration; a gate judging
|
|
165
|
+
only its own project — including one whose `projects` names exactly that
|
|
166
|
+
project — is hashed from its inputs exactly as Nx would hash it. Because
|
|
167
|
+
the target has a hasher, `nx show target inputs` prints a custom-hasher
|
|
168
|
+
warning instead of a file list — the inputs above still decide the hash.
|
|
106
169
|
|
|
107
170
|
### Executor options
|
|
108
171
|
|
|
@@ -196,6 +259,9 @@ graph LR
|
|
|
196
259
|
file_src_executors_gate_executor_ts["src/executors/gate/executor.ts"]
|
|
197
260
|
file_src_executors_gate_executor_types_ts["src/executors/gate/executor.types.ts"]
|
|
198
261
|
file_src_executors_gate_executor_unit_test_ts["src/executors/gate/executor.unit.test.ts"]
|
|
262
|
+
file_src_executors_gate_hasher_ts["src/executors/gate/hasher.ts"]
|
|
263
|
+
file_src_executors_gate_hasher_unit_test_ts["src/executors/gate/hasher.unit.test.ts"]
|
|
264
|
+
file_src_executors_gate_loader_unit_test_ts["src/executors/gate/loader.unit.test.ts"]
|
|
199
265
|
file_src_index_ts["src/index.ts"]
|
|
200
266
|
file_src_index_unit_test_ts["src/index.unit.test.ts"]
|
|
201
267
|
file_src_main_module_ts["src/main.module.ts"]
|
|
@@ -208,6 +274,8 @@ graph LR
|
|
|
208
274
|
file_src_modules_plugin_plugin_context_utilities_unit_test_ts["src/modules/plugin/plugin-context.utilities.unit.test.ts"]
|
|
209
275
|
file_src_modules_plugin_plugin_inputs_utilities_ts["src/modules/plugin/plugin-inputs.utilities.ts"]
|
|
210
276
|
file_src_modules_plugin_plugin_inputs_utilities_unit_test_ts["src/modules/plugin/plugin-inputs.utilities.unit.test.ts"]
|
|
277
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_ts["src/modules/plugin/plugin-tsconfig.utilities.ts"]
|
|
278
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_unit_test_ts["src/modules/plugin/plugin-tsconfig.utilities.unit.test.ts"]
|
|
211
279
|
file_src_modules_plugin_plugin_constants_ts["src/modules/plugin/plugin.constants.ts"]
|
|
212
280
|
file_src_modules_plugin_plugin_module_ts["src/modules/plugin/plugin.module.ts"]
|
|
213
281
|
file_src_modules_plugin_plugin_service_ts["src/modules/plugin/plugin.service.ts"]
|
|
@@ -224,8 +292,14 @@ graph LR
|
|
|
224
292
|
file_src_executors_gate_executor_types_ts --> file_src_modules_gate_gate_types_ts
|
|
225
293
|
file_src_executors_gate_executor_unit_test_ts --> file_src_executors_gate_executor_ts
|
|
226
294
|
file_src_executors_gate_executor_unit_test_ts --> file_src_modules_gate_gate_service_ts
|
|
295
|
+
file_src_executors_gate_hasher_ts --> file_src_modules_gate_gate_types_ts
|
|
296
|
+
file_src_executors_gate_hasher_ts --> file_src_modules_plugin_plugin_context_utilities_ts
|
|
297
|
+
file_src_executors_gate_hasher_unit_test_ts --> file_src_executors_gate_hasher_ts
|
|
298
|
+
file_src_executors_gate_hasher_unit_test_ts --> file_src_modules_gate_gate_service_ts
|
|
299
|
+
file_src_executors_gate_hasher_unit_test_ts --> file_src_modules_gate_gate_types_ts
|
|
227
300
|
file_src_index_ts --> file_src_modules_plugin_plugin_context_utilities_ts
|
|
228
301
|
file_src_index_ts --> file_src_modules_plugin_plugin_inputs_utilities_ts
|
|
302
|
+
file_src_index_ts --> file_src_modules_plugin_plugin_tsconfig_utilities_ts
|
|
229
303
|
file_src_index_ts --> file_src_modules_plugin_plugin_constants_ts
|
|
230
304
|
file_src_index_unit_test_ts --> file_src_index_ts
|
|
231
305
|
file_src_index_unit_test_ts --> file_src_modules_plugin_plugin_service_ts
|
|
@@ -238,6 +312,7 @@ graph LR
|
|
|
238
312
|
file_src_modules_gate_gate_service_ts --> file_src_modules_gate_gate_types_ts
|
|
239
313
|
file_src_modules_gate_gate_service_ts --> file_src_modules_plugin_plugin_service_ts
|
|
240
314
|
file_src_modules_gate_gate_service_unit_test_ts --> file_src_modules_gate_gate_service_ts
|
|
315
|
+
file_src_modules_gate_gate_service_unit_test_ts --> file_src_modules_gate_gate_types_ts
|
|
241
316
|
file_src_modules_gate_gate_service_unit_test_ts --> file_src_modules_plugin_plugin_service_ts
|
|
242
317
|
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_main_module_ts
|
|
243
318
|
file_src_modules_plugin_plugin_context_utilities_ts --> file_src_modules_gate_gate_service_ts
|
|
@@ -250,6 +325,12 @@ graph LR
|
|
|
250
325
|
file_src_modules_plugin_plugin_inputs_utilities_ts --> file_src_modules_plugin_plugin_constants_ts
|
|
251
326
|
file_src_modules_plugin_plugin_inputs_utilities_ts --> file_src_modules_plugin_plugin_types_ts
|
|
252
327
|
file_src_modules_plugin_plugin_inputs_utilities_unit_test_ts --> file_src_modules_plugin_plugin_inputs_utilities_ts
|
|
328
|
+
file_src_modules_plugin_plugin_inputs_utilities_unit_test_ts --> file_src_modules_plugin_plugin_types_ts
|
|
329
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_ts --> file_src_modules_plugin_plugin_inputs_utilities_ts
|
|
330
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_ts --> file_src_modules_plugin_plugin_constants_ts
|
|
331
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_ts --> file_src_modules_plugin_plugin_types_ts
|
|
332
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_unit_test_ts --> file_src_modules_plugin_plugin_tsconfig_utilities_ts
|
|
333
|
+
file_src_modules_plugin_plugin_tsconfig_utilities_unit_test_ts --> file_src_modules_plugin_plugin_types_ts
|
|
253
334
|
file_src_modules_plugin_plugin_module_ts --> file_src_modules_plugin_plugin_service_ts
|
|
254
335
|
file_src_modules_plugin_plugin_service_ts --> file_src_modules_plugin_plugin_constants_ts
|
|
255
336
|
file_src_modules_plugin_plugin_service_ts --> file_src_modules_plugin_plugin_types_ts
|
|
@@ -266,13 +347,13 @@ Call stacks traced through `packages/ic-suite/codependix/codependix-nx`, deepest
|
|
|
266
347
|
|
|
267
348
|
| Measure | Value |
|
|
268
349
|
| --- | --- |
|
|
269
|
-
| Callables |
|
|
270
|
-
| Files |
|
|
271
|
-
| Calls traced |
|
|
272
|
-
| Call stacks |
|
|
350
|
+
| Callables | 77 |
|
|
351
|
+
| Files | 22 |
|
|
352
|
+
| Calls traced | 89 |
|
|
353
|
+
| Call stacks | 3 |
|
|
273
354
|
| Deepest stack | 6 |
|
|
274
355
|
| Stacks through recursion | 0 |
|
|
275
|
-
| Unfollowable calls |
|
|
356
|
+
| Unfollowable calls | 7 |
|
|
276
357
|
|
|
277
358
|
### Limits
|
|
278
359
|
|
|
@@ -288,16 +369,17 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
288
369
|
**1. `anonymous`** — depth ≥ 6 · orphan-root
|
|
289
370
|
|
|
290
371
|
```text
|
|
291
|
-
🚀 anonymous(…): Promise<CreateNodesResultArray> [packages/ic-suite/codependix/codependix-nx/src/index.ts:
|
|
292
|
-
└─> resolveToolInputs(
|
|
372
|
+
🚀 anonymous(…): Promise<CreateNodesResultArray> [packages/ic-suite/codependix/codependix-nx/src/index.ts:45]
|
|
373
|
+
└─> resolveToolInputs(args: ResolveToolInputsArguments): InferredInput[] [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:65]
|
|
293
374
|
↳ The cache inputs that tie a gate to the codependix command line it runs.
|
|
294
|
-
└─> resolveWorkspaceInputs(
|
|
375
|
+
└─> resolveWorkspaceInputs(…): InferredInput[] [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:209]
|
|
295
376
|
↳ Globs over the sources and manifest of the command line and of every workspace package it reaches, sorted so the cache…
|
|
296
|
-
└─> collectWorkspacePackages(
|
|
297
|
-
↳ Collects a workspace package and every workspace package it
|
|
298
|
-
└─>
|
|
299
|
-
|
|
300
|
-
|
|
377
|
+
└─> collectWorkspacePackages(cliDirectory: string): WorkspacePackages [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:103]
|
|
378
|
+
↳ Collects a workspace package and every workspace package it reaches, development dependencies included: a package this…
|
|
379
|
+
└─> readDependencies(directory: string): [string, unknown][] [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:41]
|
|
380
|
+
↳ Every dependency a package's manifest declares, in either map.
|
|
381
|
+
└─> readManifest(directory: string): Record<string, unknown> [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:173]
|
|
382
|
+
↳ Reads a package directory's manifest, or an empty one when there is none or it cannot be parsed — which leaves that…
|
|
301
383
|
```
|
|
302
384
|
|
|
303
385
|
**2. `gateExecutor`** — depth ≥ 6 · orphan-root
|
|
@@ -305,49 +387,78 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
305
387
|
```text
|
|
306
388
|
🚀 gateExecutor(…): Promise<{ success: boolean; }> [packages/ic-suite/codependix/codependix-nx/src/executors/gate/executor.ts:21]
|
|
307
389
|
↳ Fails one project's task when a codependix boundary finding is charged to it.
|
|
308
|
-
└─> GateService.run(args: RunGateArguments): Promise<boolean> [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:
|
|
390
|
+
└─> GateService.run(args: RunGateArguments): Promise<boolean> [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:287]
|
|
309
391
|
↳ Runs one gate, and settles on whether it passed.
|
|
310
|
-
└─> GateService.resolveConfigurationPath(…): string [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:
|
|
392
|
+
└─> GateService.resolveConfigurationPath(…): string [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:241]
|
|
311
393
|
↳ Resolves the configuration path one gate runs with.
|
|
312
|
-
└─> PluginService.readRegisteredOptions(nxConfiguration: unknown): unknown [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:
|
|
394
|
+
└─> PluginService.readRegisteredOptions(nxConfiguration: unknown): unknown [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:136]
|
|
313
395
|
↳ Finds this plugin's own entry in an `nx.json` and returns its options.
|
|
314
|
-
└─> PluginService.map(…)(entry: unknown): Record<string, unknown> [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:
|
|
396
|
+
└─> PluginService.map(…)(entry: unknown): Record<string, unknown> [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:144]
|
|
315
397
|
└─> PluginService.toRecord(value: unknown): Record<string, unknown> [packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:79]
|
|
316
398
|
↳ Copies an untrusted value into a record, or an empty one.
|
|
317
399
|
```
|
|
318
400
|
|
|
401
|
+
**3. `gateHasher`** — depth 6 · orphan-root
|
|
402
|
+
|
|
403
|
+
```text
|
|
404
|
+
🚀 gateHasher(task: Task, context: GateHasherContext): Promise<Hash> [packages/ic-suite/codependix/codependix-nx/src/executors/gate/hasher.ts:17]
|
|
405
|
+
↳ Hashes one gate task for Nx's cache.
|
|
406
|
+
└─> GateService.hashTask(args: HashGateTaskArguments): Promise<Hash> [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:215]
|
|
407
|
+
↳ Hashes one gate task for Nx's cache — or, when it judges any project but its own, gives it a hash no run shares, so its…
|
|
408
|
+
└─> GateService.judgesOwnProject(args: HashGateTaskArguments): boolean [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:55]
|
|
409
|
+
↳ Whether a gate task judges exactly the project it belongs to.
|
|
410
|
+
└─> GateService.resolveSelection(…): GateSelection [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:266]
|
|
411
|
+
↳ Resolves which projects one gate judges.
|
|
412
|
+
└─> GateService.readNameList(value: readonly string[] | undefined): string[] [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:81]
|
|
413
|
+
↳ Reads a list of names out of an executor's options.
|
|
414
|
+
└─> GateService.filter(…)(entry: string): boolean [packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:85]
|
|
415
|
+
```
|
|
416
|
+
|
|
319
417
|
### Breadth
|
|
320
418
|
|
|
321
419
|
| Callable | Breadth | Calls directly | Location |
|
|
322
420
|
| --- | --- | --- | --- |
|
|
323
|
-
| `
|
|
324
|
-
| `
|
|
325
|
-
| `
|
|
421
|
+
| `resolveToolInputs` | 5 | `locatePackage`, `warnUnresolved`, `isInsideWorkspace`, `resolveWorkspaceInputs`, `resolveExternalInputs` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:65` |
|
|
422
|
+
| `anonymous` | 5 | `resolvePluginService`, `PluginService.inferTargets`, `resolveToolInputs`, `resolveTsconfigInputs`, `flatMap(…)` | `packages/ic-suite/codependix/codependix-nx/src/index.ts:45` |
|
|
423
|
+
| `PluginService.readRegisteredOptions` | 4 | `PluginService.toRecord`, `PluginService.isUnknownArray`, `PluginService.find(…)`, `PluginService.map(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:136` |
|
|
326
424
|
|
|
327
425
|
<details>
|
|
328
|
-
<summary>
|
|
426
|
+
<summary>32 more callables</summary>
|
|
329
427
|
|
|
330
428
|
| Callable | Breadth | Calls directly | Location |
|
|
331
429
|
| --- | --- | --- | --- |
|
|
332
|
-
| `
|
|
333
|
-
| `collectWorkspacePackages` | 4 | `
|
|
430
|
+
| `GateService.run` | 4 | `GateService.buildCommandArguments`, `GateService.resolveSelection`, `GateService.resolveConfigurationPath`, `GateService.spawnCommandLine` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:287` |
|
|
431
|
+
| `collectWorkspacePackages` | 4 | `map(…)`, `filter(…)`, `readDependencies`, `locatePackage` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:103` |
|
|
432
|
+
| `followExtendsChain` | 4 | `readRegistryDependencies`, `readExtends`, `resolveExtendedBase`, `warnSkipped` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:89` |
|
|
433
|
+
| `resolveExtendedBase` | 4 | `resolvePathBase`, `resolvePackageBase`, `isInsideWorkspace`, `readInstalledPackageName` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:204` |
|
|
334
434
|
| `PluginService.selectProjectRoots` | 3 | `PluginService.filter(…)`, `PluginService.map(…)`, `PluginService.filter(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:65` |
|
|
335
|
-
| `PluginService.inferTargets` | 3 | `PluginService.resolvePluginOptions`, `PluginService.map(…)`, `PluginService.selectProjectRoots` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:
|
|
336
|
-
| `PluginService.resolvePluginOptions` | 3 | `PluginService.toRecord`, `PluginService.readString`, `PluginService.find(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:
|
|
337
|
-
| `GateService.
|
|
338
|
-
| `GateService.
|
|
339
|
-
| `GateService.
|
|
340
|
-
| `
|
|
341
|
-
| `
|
|
435
|
+
| `PluginService.inferTargets` | 3 | `PluginService.resolvePluginOptions`, `PluginService.map(…)`, `PluginService.selectProjectRoots` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:99` |
|
|
436
|
+
| `PluginService.resolvePluginOptions` | 3 | `PluginService.toRecord`, `PluginService.readString`, `PluginService.find(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:158` |
|
|
437
|
+
| `GateService.judgesOwnProject` | 3 | `GateService.readTaskOptions`, `GateService.resolveSelection`, `GateService.toNameList` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:55` |
|
|
438
|
+
| `GateService.readNameList` | 3 | `GateService.filter(…)`, `GateService.map(…)`, `GateService.flatMap(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:81` |
|
|
439
|
+
| `GateService.anonymous` | 3 | `GateService.on(…)`, `GateService.on(…)`, `GateService.on(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:143` |
|
|
440
|
+
| `GateService.resolveConfigurationPath` | 3 | `PluginService.resolvePluginOptions`, `PluginService.readRegisteredOptions`, `GateService.readNxConfiguration` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:241` |
|
|
441
|
+
| `resolveExternalInputs` | 3 | `filter(…)`, `map(…)`, `readDependencies` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:197` |
|
|
442
|
+
| `resolveWorkspaceInputs` | 3 | `collectWorkspacePackages`, `warnUnresolved`, `flatMap(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:209` |
|
|
443
|
+
| `readRegistryDependencies` | 3 | `map(…)`, `filter(…)`, `readDependencies` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:180` |
|
|
444
|
+
| `readDependencies` | 2 | `readManifest`, `toRecord` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:41` |
|
|
445
|
+
| `resolveTsconfigInputs` | 2 | `followExtendsChain`, `map(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:42` |
|
|
342
446
|
| `gateExecutor` | 2 | `resolveGateService`, `GateService.run` | `packages/ic-suite/codependix/codependix-nx/src/executors/gate/executor.ts:21` |
|
|
343
|
-
| `
|
|
344
|
-
| `
|
|
345
|
-
| `GateService.
|
|
447
|
+
| `gateHasher` | 2 | `resolveGateService`, `GateService.hashTask` | `packages/ic-suite/codependix/codependix-nx/src/executors/gate/hasher.ts:17` |
|
|
448
|
+
| `PluginService.map(…)` | 1 | `PluginService.toRecord` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin.service.ts:144` |
|
|
449
|
+
| `GateService.readTaskOptions` | 1 | `GateService.toRecord` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:111` |
|
|
450
|
+
| `GateService.spawnCommandLine` | 1 | `GateService.anonymous` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:139` |
|
|
451
|
+
| `GateService.toNameList` | 1 | `GateService.filter(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:162` |
|
|
452
|
+
| `GateService.hashTask` | 1 | `GateService.judgesOwnProject` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:215` |
|
|
453
|
+
| `GateService.resolveSelection` | 1 | `GateService.readNameList` | `packages/ic-suite/codependix/codependix-nx/src/modules/gate/gate.service.ts:266` |
|
|
346
454
|
| `resolveGateService` | 1 | `resolvePluginContext` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-context.utilities.ts:16` |
|
|
347
455
|
| `resolvePluginService` | 1 | `resolvePluginContext` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-context.utilities.ts:23` |
|
|
348
|
-
| `
|
|
349
|
-
| `
|
|
350
|
-
| `
|
|
456
|
+
| `locatePackage` | 1 | `readManifest` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:145` |
|
|
457
|
+
| `flatMap(…)` | 1 | `map(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-inputs.utilities.ts:224` |
|
|
458
|
+
| `readExtends` | 1 | `filter(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:133` |
|
|
459
|
+
| `filter(…)` | 1 | `some(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:184` |
|
|
460
|
+
| `resolvePackageBase` | 1 | `flatMap(…)` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:247` |
|
|
461
|
+
| `warnSkipped` | 1 | `describeSkippedBase` | `packages/ic-suite/codependix/codependix-nx/src/modules/plugin/plugin-tsconfig.utilities.ts:291` |
|
|
351
462
|
|
|
352
463
|
</details>
|
|
353
464
|
<!-- callidescope:end -->
|
|
@@ -358,36 +469,36 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
358
469
|
|
|
359
470
|
### Project
|
|
360
471
|
|
|
361
|
-

|
|
473
|
+

|
|
363
474
|

|
|
364
|
-

|
|
365
476
|
|
|
366
477
|
### TypeScript
|
|
367
478
|
|
|
368
|
-

|
|
480
|
+

|
|
370
481
|

|
|
371
482
|

|
|
372
483
|

|
|
373
|
-

|
|
374
485
|

|
|
375
486
|
|
|
376
487
|
### JavaScript
|
|
377
488
|
|
|
378
|
-

|
|
490
|
+

|
|
491
|
+

|
|
381
492
|

|
|
382
|
-

|
|
494
|
+

|
|
495
|
+

|
|
496
|
+

|
|
497
|
+

|
|
498
|
+

|
|
499
|
+

|
|
500
|
+

|
|
501
|
+

|
|
391
502
|

|
|
392
503
|
|
|
393
504
|
### Python
|
|
@@ -408,16 +519,16 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
408
519
|
### JSON
|
|
409
520
|
|
|
410
521
|

|
|
411
|
-

|
|
523
|
+

|
|
413
524
|

|
|
414
|
-

|
|
526
|
+

|
|
416
527
|

|
|
417
528
|

|
|
418
529
|

|
|
419
|
-

|
|
531
|
+

|
|
421
532
|

|
|
422
533
|
|
|
423
534
|
### YAML
|
|
@@ -503,9 +614,9 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
503
614
|

|
|
504
615
|

|
|
505
616
|

|
|
506
|
-

|
|
507
618
|

|
|
508
|
-

|
|
509
620
|

|
|
510
621
|

|
|
511
622
|

|
|
@@ -543,23 +654,23 @@ What this project is judged against, as declared in its own `callidescope.config
|
|
|
543
654
|
### Markdown
|
|
544
655
|
|
|
545
656
|

|
|
546
|
-

|
|
547
658
|

|
|
548
|
-

|
|
660
|
+

|
|
550
661
|

|
|
551
662
|

|
|
552
663
|

|
|
553
|
-

|
|
665
|
+

|
|
666
|
+

|
|
556
667
|

|
|
557
|
-

|
|
669
|
+

|
|
670
|
+

|
|
560
671
|

|
|
561
|
-

|
|
673
|
+

|
|
563
674
|

|
|
564
675
|

|
|
565
676
|
<!-- codometer:end -->
|