nest-graph-inspector 0.3.0 → 0.4.0

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/README.md CHANGED
@@ -12,21 +12,30 @@
12
12
 
13
13
  Nest Graph Inspector reads your NestJS runtime container and generates a dependency graph of modules, providers, controllers, and their relationships.
14
14
 
15
- ### Result Preview
15
+ ### Preview
16
16
 
17
- [**Try the interactive viewer with AI Chat →**](https://albasyir.github.io/nest-graph-inspector/view/)
17
+ This is a static preview. [**Try the interactive viewer with AI Chat →**](https://albasyir.github.io/nest-graph-inspector/view/)
18
18
 
19
19
  > "Load Example" to see result without installing it
20
20
 
21
- ## Features
21
+ ## Why It Matters
22
22
 
23
- - **Runtime introspection** graphs are built from the actual Nest container, not static source parsing
24
- - **Minimal setup** — import the module and you're done
25
- - **Interactive web viewer** — zoom, pan, and inspect nodes in the browser
26
- - **Chat with AI** — there's AI that help you to understand complex graph
27
- - **JSON output** — structured data for programmatic use or CI integration
28
- - **Markdown output** — AI-friendly graph representation
23
+ Shipping speed depends on confidence. Teams need runtime visibility to trace impact, find architecture issues early, and ship safer changes.
29
24
 
25
+ - **Ship Changes Faster** — trace impact in minutes, not meetings, before touching critical providers or modules
26
+ - **Cut Regression Risk** — catch circular and high-coupling patterns before they become release blockers
27
+ - **Make PR Reviews Concrete** — replace assumptions with runtime-backed module and provider-level evidence
28
+ - **Onboard With Real Context** — give new engineers a live map of how the system actually connects and behaves
29
+ - **Find Architecture Issues Early** — use Issue Finder to surface structural problems before they grow into production incidents
30
+
31
+ ## Feature List
32
+
33
+ - **Dependency Graph** — visualize modules, providers, controllers, imports, and dependency edges from the running app
34
+ - **Circular Detection** — surface circular relationships early so teams can resolve risky loops before release
35
+ - **Relation Focus** — coming soon: focus provider/module pairs to see how they relate and where dependencies connect
36
+ - **Context-Aware AI Assistant** — ask graph and trace questions in plain language with context-aware answers, always free in the viewer
37
+ - **Process Sequence** — coming soon: generate sequence diagrams from an entry point to completion flow
38
+ - **Direct Run** — coming soon: execute runtime-resolved services and functions directly from graph context
30
39
 
31
40
  ## Quick Start
32
41
 
@@ -38,10 +47,10 @@ npm install nest-graph-inspector
38
47
 
39
48
  ```ts
40
49
  import { Module } from '@nestjs/common';
41
- import { NestGraphInspector } from 'nest-graph-inspector';
50
+ import { NestGraphInspectorModule } from 'nest-graph-inspector';
42
51
 
43
52
  @Module({
44
- imports: [NestGraphInspector],
53
+ imports: [NestGraphInspectorModule],
45
54
  })
46
55
  export class RootModule {}
47
56
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nest-graph-inspector",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "NestJS module graph inspector for discovery and dependency analysis",
5
5
  "license": "MIT",
6
6
  "main": "./src/index.js",
@@ -20,6 +20,7 @@ export declare class FileOutputAdapter implements OutputAdapter<FileOutputConfig
20
20
  private appendDependencyRelations;
21
21
  private appendModuleSections;
22
22
  private findProviderCircularWarnings;
23
+ private findControllerCircularWarnings;
23
24
  private findModuleCircularWarnings;
24
25
  private findUnusedImportWarnings;
25
26
  private isModuleImportUsed;
@@ -33,12 +34,9 @@ export declare class FileOutputAdapter implements OutputAdapter<FileOutputConfig
33
34
  private providerKey;
34
35
  private providerDisplayName;
35
36
  private providerDisplayNameFromKey;
36
- private getOrCreateSet;
37
37
  private getOrCreateMap;
38
38
  private getOrCreateArray;
39
- private createNodeMap;
40
- private findCircularWarnings;
41
- private findReachableKeys;
39
+ private findCircularWarningsFromCycles;
42
40
  private toMermaidNodeId;
43
41
  private escapeMermaidLabel;
44
42
  private moduleGroupId;
@@ -100,8 +100,9 @@ let FileOutputAdapter = class FileOutputAdapter {
100
100
  }
101
101
  }
102
102
  appendModuleSections(lines, moduleEntries, graphOutput) {
103
- const providerCircularWarnings = this.findProviderCircularWarnings(moduleEntries, graphOutput);
104
- const moduleCircularWarnings = this.findModuleCircularWarnings(moduleEntries, graphOutput);
103
+ const providerCircularWarnings = this.findProviderCircularWarnings(graphOutput);
104
+ const controllerCircularWarnings = this.findControllerCircularWarnings(graphOutput);
105
+ const moduleCircularWarnings = this.findModuleCircularWarnings(graphOutput);
105
106
  const unusedImportWarnings = this.findUnusedImportWarnings(moduleEntries, graphOutput);
106
107
  for (const [moduleName, moduleData] of moduleEntries) {
107
108
  lines.push(`## ${moduleName}`);
@@ -114,47 +115,17 @@ let FileOutputAdapter = class FileOutputAdapter {
114
115
  this.appendStringSection(lines, 'Imports', moduleData.imports, unusedImportWarnings.get(moduleName));
115
116
  this.appendStringSection(lines, 'Exports', moduleData.exports);
116
117
  this.appendProviderSection(lines, 'Providers', moduleName, moduleData.providers, providerCircularWarnings);
117
- this.appendControllerSection(lines, 'Controllers', moduleData.controllers);
118
+ this.appendControllerSection(lines, 'Controllers', moduleName, moduleData.controllers, controllerCircularWarnings);
118
119
  }
119
120
  }
120
- findProviderCircularWarnings(moduleEntries, graphOutput) {
121
- const providerKeys = new Set();
122
- const providerEdges = this.createNodeMap(moduleEntries, ([moduleName]) => graphOutput.modules[moduleName].providers.map((provider) => this.providerKey(moduleName, provider.name)));
123
- for (const [moduleName, moduleData] of moduleEntries) {
124
- for (const provider of moduleData.providers) {
125
- providerKeys.add(this.providerKey(moduleName, provider.name));
126
- }
127
- }
128
- for (const [moduleName, moduleData] of moduleEntries) {
129
- for (const provider of moduleData.providers) {
130
- const providerKey = this.providerKey(moduleName, provider.name);
131
- const dependencies = this.getOrCreateSet(providerEdges, providerKey);
132
- for (const dependency of provider.dependencies) {
133
- const dependencyModule = graphOutput.modules[dependency.providedBy.name];
134
- const dependencyKey = this.providerKey(dependency.providedBy.name, dependency.token);
135
- const hasDependencyProvider = dependencyModule?.providers.some((candidate) => candidate.name === dependency.token);
136
- if (hasDependencyProvider && providerKeys.has(dependencyKey)) {
137
- dependencies.add(dependencyKey);
138
- }
139
- }
140
- }
141
- }
142
- return this.findCircularWarnings(providerEdges, (providerKey) => this.providerDisplayNameFromKey(providerKey));
121
+ findProviderCircularWarnings(graphOutput) {
122
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.providers, (providerKey) => this.providerDisplayNameFromKey(providerKey));
143
123
  }
144
- findModuleCircularWarnings(moduleEntries, graphOutput) {
145
- const moduleEdges = this.createNodeMap(moduleEntries, ([moduleName]) => [
146
- moduleName,
147
- ]);
148
- for (const [moduleName, moduleData] of moduleEntries) {
149
- const imports = this.getOrCreateSet(moduleEdges, moduleName);
150
- for (const importedModuleName of moduleData.imports) {
151
- if (!graphOutput.modules[importedModuleName]) {
152
- continue;
153
- }
154
- imports.add(importedModuleName);
155
- }
156
- }
157
- return this.findCircularWarnings(moduleEdges, (moduleName) => moduleName);
124
+ findControllerCircularWarnings(graphOutput) {
125
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.controllers, (controllerKey) => this.providerDisplayNameFromKey(controllerKey));
126
+ }
127
+ findModuleCircularWarnings(graphOutput) {
128
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.modules, (moduleName) => moduleName);
158
129
  }
159
130
  findUnusedImportWarnings(moduleEntries, graphOutput) {
160
131
  const unusedImportWarnings = new Map();
@@ -215,13 +186,13 @@ let FileOutputAdapter = class FileOutputAdapter {
215
186
  }
216
187
  lines.push('');
217
188
  }
218
- appendControllerSection(lines, title, controllers) {
189
+ appendControllerSection(lines, title, moduleName, controllers, circularWarnings) {
219
190
  if (controllers.length === 0) {
220
191
  return;
221
192
  }
222
193
  lines.push(`### ${title}`);
223
194
  for (const controller of controllers) {
224
- this.appendNamedDependencyItem(lines, controller.name, controller.dependencies);
195
+ this.appendNamedDependencyItem(lines, controller.name, controller.dependencies, circularWarnings.get(this.providerKey(moduleName, controller.name)));
225
196
  }
226
197
  lines.push('');
227
198
  }
@@ -261,15 +232,6 @@ let FileOutputAdapter = class FileOutputAdapter {
261
232
  const separatorIndex = providerKey.indexOf(':');
262
233
  return this.providerDisplayName(providerKey.slice(0, separatorIndex), providerKey.slice(separatorIndex + 1));
263
234
  }
264
- getOrCreateSet(map, key) {
265
- const existingValue = map.get(key);
266
- if (existingValue) {
267
- return existingValue;
268
- }
269
- const value = new Set();
270
- map.set(key, value);
271
- return value;
272
- }
273
235
  getOrCreateMap(map, key) {
274
236
  const existingValue = map.get(key);
275
237
  if (existingValue) {
@@ -288,46 +250,14 @@ let FileOutputAdapter = class FileOutputAdapter {
288
250
  map.set(key, value);
289
251
  return value;
290
252
  }
291
- createNodeMap(values, getKeys) {
292
- const map = new Map();
293
- for (const value of values) {
294
- for (const key of getKeys(value)) {
295
- this.getOrCreateSet(map, key);
296
- }
297
- }
298
- return map;
299
- }
300
- findCircularWarnings(graph, displayName) {
253
+ findCircularWarningsFromCycles(cycles = [], displayName) {
301
254
  const circularWarnings = new Map();
302
- const reachableKeys = new Map();
303
- for (const source of graph.keys()) {
304
- reachableKeys.set(source, this.findReachableKeys(source, graph));
305
- }
306
- for (const [source, targets] of graph) {
307
- const warnings = [...targets]
308
- .filter((target) => source === target || reachableKeys.get(target)?.has(source))
309
- .map((target) => `circular dependency with ${displayName(target)}`);
310
- if (warnings.length > 0) {
311
- circularWarnings.set(source, warnings);
312
- }
255
+ for (const cycle of cycles) {
256
+ const warnings = this.getOrCreateArray(circularWarnings, cycle.from);
257
+ warnings.push(`${cycle.type} circular dependency with ${displayName(cycle.to)}`);
313
258
  }
314
259
  return circularWarnings;
315
260
  }
316
- findReachableKeys(source, graph) {
317
- const reachableKeys = new Set();
318
- const pendingKeys = [...(graph.get(source) ?? [])];
319
- while (pendingKeys.length > 0) {
320
- const currentKey = pendingKeys.pop();
321
- if (!currentKey || reachableKeys.has(currentKey)) {
322
- continue;
323
- }
324
- reachableKeys.add(currentKey);
325
- for (const nextKey of graph.get(currentKey) ?? []) {
326
- pendingKeys.push(nextKey);
327
- }
328
- }
329
- return reachableKeys;
330
- }
331
261
  toMermaidNodeId(value) {
332
262
  return value.replace(/[^a-zA-Z0-9_]/g, '_');
333
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-output.adapter.js","sourceRoot":"","sources":["../../../../../libs/nest-graph-inspector/src/adapters/file-output.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-output.adapter.js","sourceRoot":"","sources":["../../../../../libs/nest-graph-inspector/src/adapters/file-output.adapter.ts"],"names":[],"mappings":"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"}
@@ -48,5 +48,18 @@ export declare class NestGraphInspectorSetup implements OnModuleInit {
48
48
  private wrapperName;
49
49
  private tokenName;
50
50
  private enrichModuleMap;
51
+ private findGraphCycles;
52
+ private findModuleCycles;
53
+ private findDependencyCycles;
54
+ private addDependencyEdges;
55
+ private createGraph;
56
+ private findCycles;
57
+ private getCanonicalCycleKey;
58
+ private toProviderCycle;
59
+ private toProviderCyclePathItem;
60
+ private getCycleType;
61
+ private findPath;
62
+ private findReachableKeys;
63
+ private dependencyNodeKey;
51
64
  private enrichDependency;
52
65
  }
@@ -136,7 +136,7 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
136
136
  modules[this.nestCoreModuleName] = this.buildNestCoreModule(usedNestCoreProviders);
137
137
  }
138
138
  return {
139
- version: '2',
139
+ version: '3',
140
140
  root: this.moduleName(root),
141
141
  modules,
142
142
  };
@@ -415,8 +415,199 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
415
415
  return {
416
416
  ...moduleMap,
417
417
  modules: enrichedModules,
418
+ cycles: this.findGraphCycles(enrichedModules),
418
419
  };
419
420
  }
421
+ findGraphCycles(modules) {
422
+ let nextId = 1;
423
+ const nextCycleId = () => nextId++;
424
+ return {
425
+ modules: this.findModuleCycles(modules, nextCycleId),
426
+ ...this.findDependencyCycles(modules, nextCycleId),
427
+ };
428
+ }
429
+ findModuleCycles(modules, nextCycleId) {
430
+ const graph = this.createGraph(Object.keys(modules));
431
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
432
+ for (const importedModuleName of moduleData.imports) {
433
+ if (modules[importedModuleName]) {
434
+ graph.get(moduleName)?.add(importedModuleName);
435
+ }
436
+ }
437
+ }
438
+ return this.findCycles(graph, nextCycleId);
439
+ }
440
+ findDependencyCycles(modules, nextCycleId) {
441
+ const nodes = new Map();
442
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
443
+ for (const provider of moduleData.providers) {
444
+ const key = this.dependencyNodeKey(moduleName, provider.name);
445
+ nodes.set(key, {
446
+ key,
447
+ kind: 'provider',
448
+ moduleName,
449
+ name: provider.name,
450
+ });
451
+ }
452
+ for (const controller of moduleData.controllers) {
453
+ const key = this.dependencyNodeKey(moduleName, controller.name);
454
+ nodes.set(key, {
455
+ key,
456
+ kind: 'controller',
457
+ moduleName,
458
+ name: controller.name,
459
+ });
460
+ }
461
+ }
462
+ const graph = this.createGraph([...nodes.keys()]);
463
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
464
+ for (const provider of moduleData.providers) {
465
+ this.addDependencyEdges(graph, this.dependencyNodeKey(moduleName, provider.name), provider.dependencies, nodes);
466
+ }
467
+ for (const controller of moduleData.controllers) {
468
+ this.addDependencyEdges(graph, this.dependencyNodeKey(moduleName, controller.name), controller.dependencies, nodes);
469
+ }
470
+ }
471
+ const cycles = this.findCycles(graph, nextCycleId);
472
+ return {
473
+ providers: cycles
474
+ .filter((cycle) => nodes.get(cycle.from)?.kind === 'provider')
475
+ .map((cycle) => this.toProviderCycle(cycle, nodes)),
476
+ controllers: cycles.filter((cycle) => nodes.get(cycle.from)?.kind === 'controller'),
477
+ };
478
+ }
479
+ addDependencyEdges(graph, sourceKey, dependencies, nodes) {
480
+ const sourceEdges = graph.get(sourceKey);
481
+ if (!sourceEdges) {
482
+ return;
483
+ }
484
+ for (const dependency of dependencies) {
485
+ const targetKey = this.dependencyNodeKey(dependency.providedBy.name, dependency.token);
486
+ if (nodes.has(targetKey)) {
487
+ sourceEdges.add(targetKey);
488
+ }
489
+ }
490
+ }
491
+ createGraph(keys) {
492
+ const graph = new Map();
493
+ for (const key of keys) {
494
+ graph.set(key, new Set());
495
+ }
496
+ return graph;
497
+ }
498
+ findCycles(graph, nextCycleId) {
499
+ const cycles = [];
500
+ const seenCycleKeys = new Set();
501
+ const reachableKeys = new Map();
502
+ for (const source of graph.keys()) {
503
+ reachableKeys.set(source, this.findReachableKeys(source, graph));
504
+ }
505
+ for (const [source, targets] of graph) {
506
+ for (const target of targets) {
507
+ if (source !== target && !reachableKeys.get(target)?.has(source)) {
508
+ continue;
509
+ }
510
+ const path = source === target
511
+ ? [source, source]
512
+ : [source, ...this.findPath(target, source, graph)];
513
+ const cycleKey = this.getCanonicalCycleKey(path);
514
+ if (seenCycleKeys.has(cycleKey)) {
515
+ continue;
516
+ }
517
+ seenCycleKeys.add(cycleKey);
518
+ cycles.push({
519
+ id: nextCycleId(),
520
+ from: source,
521
+ to: target,
522
+ type: this.getCycleType(source, target, graph),
523
+ path,
524
+ });
525
+ }
526
+ }
527
+ return cycles;
528
+ }
529
+ getCanonicalCycleKey(path) {
530
+ const cyclePath = path.slice(0, -1);
531
+ if (cyclePath.length <= 1) {
532
+ return cyclePath.join('->');
533
+ }
534
+ const rotations = cyclePath.map((_, index) => [
535
+ ...cyclePath.slice(index),
536
+ ...cyclePath.slice(0, index),
537
+ ]);
538
+ return rotations
539
+ .map((rotation) => rotation.join('->'))
540
+ .sort((a, b) => a.localeCompare(b))[0];
541
+ }
542
+ toProviderCycle(cycle, nodes) {
543
+ return {
544
+ ...cycle,
545
+ path: cycle.path.map((key) => this.toProviderCyclePathItem(key, nodes)),
546
+ };
547
+ }
548
+ toProviderCyclePathItem(key, nodes) {
549
+ const node = nodes.get(key);
550
+ if (node) {
551
+ return {
552
+ module: { name: node.moduleName },
553
+ provider: { name: node.name },
554
+ };
555
+ }
556
+ const separatorIndex = key.indexOf(':');
557
+ if (separatorIndex === -1) {
558
+ return {
559
+ module: { name: '' },
560
+ provider: { name: key },
561
+ };
562
+ }
563
+ return {
564
+ module: { name: key.slice(0, separatorIndex) },
565
+ provider: { name: key.slice(separatorIndex + 1) },
566
+ };
567
+ }
568
+ getCycleType(source, target, graph) {
569
+ if (source === target || graph.get(target)?.has(source)) {
570
+ return 'direct';
571
+ }
572
+ return 'indirect';
573
+ }
574
+ findPath(source, target, graph) {
575
+ const visited = new Set();
576
+ const pendingPaths = [[source]];
577
+ while (pendingPaths.length > 0) {
578
+ const currentPath = pendingPaths.shift();
579
+ const current = currentPath?.[currentPath.length - 1];
580
+ if (!currentPath || !current || visited.has(current)) {
581
+ continue;
582
+ }
583
+ if (current === target) {
584
+ return currentPath;
585
+ }
586
+ visited.add(current);
587
+ for (const next of graph.get(current) ?? []) {
588
+ pendingPaths.push([...currentPath, next]);
589
+ }
590
+ }
591
+ return [source, target];
592
+ }
593
+ findReachableKeys(source, graph) {
594
+ const reachableKeys = new Set();
595
+ const pendingKeys = [...(graph.get(source) ?? [])];
596
+ while (pendingKeys.length > 0) {
597
+ const currentKey = pendingKeys.pop();
598
+ if (!currentKey || reachableKeys.has(currentKey)) {
599
+ continue;
600
+ }
601
+ reachableKeys.add(currentKey);
602
+ for (const nextKey of graph.get(currentKey) ?? []) {
603
+ pendingKeys.push(nextKey);
604
+ }
605
+ }
606
+ return reachableKeys;
607
+ }
608
+ dependencyNodeKey(moduleName, dependencyName) {
609
+ return `${moduleName}:${dependencyName}`;
610
+ }
420
611
  enrichDependency(dependency, currentModule) {
421
612
  const colonIndex = dependency.indexOf(':');
422
613
  if (colonIndex !== -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"nest-graph-inspector.setup.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nest-graph-inspector.setup.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.setup.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,35 @@ export type GraphOutputModule = {
19
19
  providers: GraphOutputProvider[];
20
20
  controllers: GraphOutputController[];
21
21
  };
22
+ export type GraphOutputCycleType = 'direct' | 'indirect';
23
+ export type GraphOutputCycleBase = {
24
+ id: number;
25
+ from: string;
26
+ to: string;
27
+ type: GraphOutputCycleType;
28
+ };
29
+ export type GraphOutputCycle = GraphOutputCycleBase & {
30
+ path: string[];
31
+ };
32
+ export type GraphOutputProviderCyclePathItem = {
33
+ module: {
34
+ name: string;
35
+ };
36
+ provider: {
37
+ name: string;
38
+ };
39
+ };
40
+ export type GraphOutputProviderCycle = GraphOutputCycleBase & {
41
+ path: GraphOutputProviderCyclePathItem[];
42
+ };
43
+ export type GraphOutputCycles = {
44
+ modules: GraphOutputCycle[];
45
+ providers: GraphOutputProviderCycle[];
46
+ controllers: GraphOutputCycle[];
47
+ };
22
48
  export type GraphOutput = {
23
49
  version: string;
24
50
  root: string;
25
51
  modules: Record<string, GraphOutputModule>;
52
+ cycles: GraphOutputCycles;
26
53
  };