nest-graph-inspector 0.3.0 → 0.5.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": "v0.5.0",
4
4
  "description": "NestJS module graph inspector for discovery and dependency analysis",
5
5
  "license": "MIT",
6
6
  "main": "./src/index.js",
@@ -35,6 +35,9 @@
35
35
  "url": "https://github.com/albasyir/nest-graph-inspector/issues"
36
36
  },
37
37
  "homepage": "https://albasyir.github.io/nest-graph-inspector",
38
+ "dependencies": {
39
+ "ts-morph": "^28.0.0"
40
+ },
38
41
  "peerDependencies": {
39
42
  "@nestjs/common": "^10.0.0 || ^11.0.0",
40
43
  "@nestjs/core": "^10.0.0 || ^11.0.0"
@@ -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;
@@ -27,18 +28,16 @@ export declare class FileOutputAdapter implements OutputAdapter<FileOutputConfig
27
28
  private appendProviderSection;
28
29
  private appendControllerSection;
29
30
  private appendNamedDependencyItem;
31
+ private appendJsDocBlock;
30
32
  private appendWarningItems;
31
33
  private appendModuleWarningBlock;
32
34
  private addImportWarning;
33
35
  private providerKey;
34
36
  private providerDisplayName;
35
37
  private providerDisplayNameFromKey;
36
- private getOrCreateSet;
37
38
  private getOrCreateMap;
38
39
  private getOrCreateArray;
39
- private createNodeMap;
40
- private findCircularWarnings;
41
- private findReachableKeys;
40
+ private findCircularWarningsFromCycles;
42
41
  private toMermaidNodeId;
43
42
  private escapeMermaidLabel;
44
43
  private moduleGroupId;
@@ -100,12 +100,14 @@ 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}`);
108
109
  lines.push('');
110
+ this.appendJsDocBlock(lines, moduleData.jsdoc);
109
111
  const moduleWarnings = moduleCircularWarnings.get(moduleName);
110
112
  this.appendModuleWarningBlock(lines, moduleWarnings);
111
113
  if (moduleWarnings && moduleWarnings.length > 0) {
@@ -114,47 +116,17 @@ let FileOutputAdapter = class FileOutputAdapter {
114
116
  this.appendStringSection(lines, 'Imports', moduleData.imports, unusedImportWarnings.get(moduleName));
115
117
  this.appendStringSection(lines, 'Exports', moduleData.exports);
116
118
  this.appendProviderSection(lines, 'Providers', moduleName, moduleData.providers, providerCircularWarnings);
117
- this.appendControllerSection(lines, 'Controllers', moduleData.controllers);
119
+ this.appendControllerSection(lines, 'Controllers', moduleName, moduleData.controllers, controllerCircularWarnings);
118
120
  }
119
121
  }
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));
122
+ findProviderCircularWarnings(graphOutput) {
123
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.providers, (providerKey) => this.providerDisplayNameFromKey(providerKey));
143
124
  }
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);
125
+ findControllerCircularWarnings(graphOutput) {
126
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.controllers, (controllerKey) => this.providerDisplayNameFromKey(controllerKey));
127
+ }
128
+ findModuleCircularWarnings(graphOutput) {
129
+ return this.findCircularWarningsFromCycles(graphOutput.cycles?.modules, (moduleName) => moduleName);
158
130
  }
159
131
  findUnusedImportWarnings(moduleEntries, graphOutput) {
160
132
  const unusedImportWarnings = new Map();
@@ -211,27 +183,37 @@ let FileOutputAdapter = class FileOutputAdapter {
211
183
  }
212
184
  lines.push(`### ${title}`);
213
185
  for (const provider of providers) {
214
- this.appendNamedDependencyItem(lines, provider.name, provider.dependencies, circularWarnings.get(this.providerKey(moduleName, provider.name)));
186
+ this.appendNamedDependencyItem(lines, provider.name, provider.jsdoc, provider.dependencies, circularWarnings.get(this.providerKey(moduleName, provider.name)));
215
187
  }
216
188
  lines.push('');
217
189
  }
218
- appendControllerSection(lines, title, controllers) {
190
+ appendControllerSection(lines, title, moduleName, controllers, circularWarnings) {
219
191
  if (controllers.length === 0) {
220
192
  return;
221
193
  }
222
194
  lines.push(`### ${title}`);
223
195
  for (const controller of controllers) {
224
- this.appendNamedDependencyItem(lines, controller.name, controller.dependencies);
196
+ this.appendNamedDependencyItem(lines, controller.name, controller.jsdoc, controller.dependencies, circularWarnings.get(this.providerKey(moduleName, controller.name)));
225
197
  }
226
198
  lines.push('');
227
199
  }
228
- appendNamedDependencyItem(lines, name, dependencies, warnings = []) {
200
+ appendNamedDependencyItem(lines, name, jsdoc, dependencies, warnings = []) {
229
201
  lines.push(`- ${name}`);
202
+ this.appendJsDocBlock(lines, jsdoc, ' ');
230
203
  this.appendWarningItems(lines, warnings, ' ');
231
204
  for (const dependency of dependencies) {
232
205
  lines.push(` - depends on ${dependency.token} from ${dependency.providedBy.name}`);
233
206
  }
234
207
  }
208
+ appendJsDocBlock(lines, jsdoc, indent = '') {
209
+ if (!jsdoc) {
210
+ return;
211
+ }
212
+ for (const line of jsdoc.split('\n')) {
213
+ lines.push(`${indent}${line}`);
214
+ }
215
+ lines.push('');
216
+ }
235
217
  appendWarningItems(lines, warnings = [], indent = '') {
236
218
  for (const warning of warnings) {
237
219
  lines.push(`${indent}- Warning: ${warning}`);
@@ -261,15 +243,6 @@ let FileOutputAdapter = class FileOutputAdapter {
261
243
  const separatorIndex = providerKey.indexOf(':');
262
244
  return this.providerDisplayName(providerKey.slice(0, separatorIndex), providerKey.slice(separatorIndex + 1));
263
245
  }
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
246
  getOrCreateMap(map, key) {
274
247
  const existingValue = map.get(key);
275
248
  if (existingValue) {
@@ -288,46 +261,14 @@ let FileOutputAdapter = class FileOutputAdapter {
288
261
  map.set(key, value);
289
262
  return value;
290
263
  }
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) {
264
+ findCircularWarningsFromCycles(cycles = [], displayName) {
301
265
  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
- }
266
+ for (const cycle of cycles) {
267
+ const warnings = this.getOrCreateArray(circularWarnings, cycle.from);
268
+ warnings.push(`${cycle.type} circular dependency with ${displayName(cycle.to)}`);
313
269
  }
314
270
  return circularWarnings;
315
271
  }
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
272
  toMermaidNodeId(value) {
332
273
  return value.replace(/[^a-zA-Z0-9_]/g, '_');
333
274
  }
@@ -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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"}
@@ -12,6 +12,7 @@ var HttpOutputAdapter_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.HttpOutputAdapter = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
+ const graph_output_schema_1 = require("../types/graph-output.schema");
15
16
  const file_output_adapter_1 = require("./file-output.adapter");
16
17
  const http_serve_adapter_1 = require("./http-serve.adapter");
17
18
  let HttpOutputAdapter = class HttpOutputAdapter {
@@ -34,6 +35,7 @@ let HttpOutputAdapter = class HttpOutputAdapter {
34
35
  const path = this.normalizePath(config.path);
35
36
  const informationOutputPath = this.joinPath(path, 'information.json');
36
37
  const jsonOutputPath = this.joinPath(path, 'output.json');
38
+ const jsonSchemaOutputPath = this.joinPath(path, 'output.schema.json');
37
39
  const markdownOutputPath = this.joinPath(path, 'output.md');
38
40
  const isReuseHttpAdapter = !!config.httpAdapter;
39
41
  const httpAdapter = config.httpAdapter ?? this.httpServeAdapter;
@@ -52,6 +54,11 @@ let HttpOutputAdapter = class HttpOutputAdapter {
52
54
  'content-type': 'application/json; charset=utf-8',
53
55
  },
54
56
  }),
57
+ httpAdapter.get(jsonSchemaOutputPath, () => graph_output_schema_1.GRAPH_OUTPUT_JSON_SCHEMA, {
58
+ responseHeaders: {
59
+ 'content-type': 'application/schema+json; charset=utf-8',
60
+ },
61
+ }),
55
62
  httpAdapter.get(markdownOutputPath, () => this.fileOutputAdapter.buildMarkdownText(graphOutput), {
56
63
  responseHeaders: {
57
64
  'content-type': 'text/markdown; charset=utf-8',
@@ -1 +1 @@
1
- {"version":3,"file":"http-output.adapter.js","sourceRoot":"","sources":["../../../../../libs/nest-graph-inspector/src/adapters/http-output.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-output.adapter.js","sourceRoot":"","sources":["../../../../../libs/nest-graph-inspector/src/adapters/http-output.adapter.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './nest-graph-inspector.module';
2
2
  export * from './nest-graph-inspector.type';
3
+ export * from './types/graph-output.schema';
3
4
  export * from './types/graph-output.type';
package/src/index.js CHANGED
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./nest-graph-inspector.module"), exports);
18
18
  __exportStar(require("./nest-graph-inspector.type"), exports);
19
+ __exportStar(require("./types/graph-output.schema"), exports);
19
20
  __exportStar(require("./types/graph-output.type"), exports);
20
21
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,8DAA4C;AAC5C,8DAA4C;AAC5C,4DAA0C"}
@@ -19,24 +19,46 @@ export declare class NestGraphInspectorSetup implements OnModuleInit {
19
19
  private readonly ignoreImport;
20
20
  private readonly nestCoreModuleName;
21
21
  private readonly nestCoreProviders;
22
+ private readonly tsMorphProject;
22
23
  constructor(options: NestGraphInspectorModuleOptions, modulesContainer: ModulesContainer, httpOutputAdapter: HttpOutputAdapter, fileOutputAdapter: FileOutputAdapter, jsonOutputAdapter: JsonOutputAdapter, viewerOutputAdapter: ViewerOutputAdapter);
23
24
  onModuleInit(): Promise<void>;
25
+ private inspectAndPublishGraph;
26
+ private get hasOutput();
27
+ private getRootModule;
28
+ private getRootModuleFromClass;
29
+ private getModuleTree;
30
+ private publishModuleTree;
31
+ private createGraphOutput;
32
+ private prepareOutputs;
33
+ private publishOutputs;
34
+ private publishSingleOutput;
24
35
  private withDefaultOutputOptions;
25
36
  buildModuleMapFromAutoDetect(): ModuleMap;
26
- buildModuleMap(rootModuleClass: Type): ModuleMap;
27
- private buildModuleMapFromRef;
37
+ buildModuleMap(rootModuleClass: Type<unknown>): ModuleMap;
38
+ private createModuleMapFromModuleTree;
28
39
  private findRootModule;
29
- private buildNestCoreModule;
30
- private findUsedNestCoreProviders;
40
+ private resolveModuleTree;
41
+ private createModuleTreeReference;
42
+ private resolveModuleMembers;
43
+ private appendNestCoreModule;
44
+ private findUsedNestCoreProvidersFromTree;
45
+ private flattenModuleTree;
46
+ private walkModuleTree;
47
+ private shouldIgnoreModule;
31
48
  private extractNestCoreProviderName;
32
- private collectReachableModules;
33
49
  private extractImports;
34
50
  private extractExports;
35
51
  private extractProviders;
36
52
  private extractControllers;
37
- private extractProvider;
38
- private extractController;
53
+ private extractModuleMembers;
54
+ private extractModuleMember;
55
+ private createTsMorphProject;
56
+ private extractModuleJsDoc;
57
+ private extractClassJsDoc;
58
+ private extractClassJsDocByName;
59
+ private wrapperClassName;
39
60
  private extractDependencies;
61
+ private resolveInjectionToken;
40
62
  private resolveDependencyName;
41
63
  private findProviderDependencyNameByToken;
42
64
  private isSameProviderToken;
@@ -45,8 +67,20 @@ export declare class NestGraphInspectorSetup implements OnModuleInit {
45
67
  private isExportedProviderToken;
46
68
  private formatDependencyName;
47
69
  private moduleName;
48
- private wrapperName;
49
70
  private tokenName;
50
71
  private enrichModuleMap;
72
+ private findGraphCycles;
73
+ private findModuleCycles;
74
+ private findDependencyCycles;
75
+ private addDependencyEdges;
76
+ private createGraph;
77
+ private findCycles;
78
+ private getCanonicalCycleKey;
79
+ private toProviderCycle;
80
+ private toProviderCyclePathItem;
81
+ private getCycleType;
82
+ private findPath;
83
+ private findReachableKeys;
84
+ private dependencyNodeKey;
51
85
  private enrichDependency;
52
86
  }