@nexus-ioc/graph-analyzer 0.1.0 → 0.2.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +63 -26
  3. package/dist/analyzer/circular-dependency-detector.d.ts +29 -9
  4. package/dist/analyzer/circular-dependency-detector.js +106 -63
  5. package/dist/analyzer/circular-dependency-detector.js.map +1 -1
  6. package/dist/analyzer/module-depth-analyzer.d.ts +10 -13
  7. package/dist/analyzer/module-depth-analyzer.js +40 -52
  8. package/dist/analyzer/module-depth-analyzer.js.map +1 -1
  9. package/dist/analyzer/provider-scope-analyzer.d.ts +7 -44
  10. package/dist/analyzer/provider-scope-analyzer.js +13 -84
  11. package/dist/analyzer/provider-scope-analyzer.js.map +1 -1
  12. package/dist/analyzer/unused-provider-detector.d.ts +11 -9
  13. package/dist/analyzer/unused-provider-detector.js +35 -55
  14. package/dist/analyzer/unused-provider-detector.js.map +1 -1
  15. package/dist/cli.js +34 -129
  16. package/dist/cli.js.map +1 -1
  17. package/dist/config/config-loader.js +3 -27
  18. package/dist/config/config-loader.js.map +1 -1
  19. package/dist/config/config-schema.d.ts +2 -16
  20. package/dist/config/config-schema.js +0 -18
  21. package/dist/config/config-schema.js.map +1 -1
  22. package/dist/graph/build-nexus-graph-model.d.ts +13 -0
  23. package/dist/graph/build-nexus-graph-model.js +202 -0
  24. package/dist/graph/build-nexus-graph-model.js.map +1 -0
  25. package/dist/graph/nexus-graph-model.d.ts +112 -0
  26. package/dist/graph/nexus-graph-model.js +10 -0
  27. package/dist/graph/nexus-graph-model.js.map +1 -0
  28. package/dist/graph/scope-resolution.d.ts +16 -0
  29. package/dist/graph/scope-resolution.js +46 -0
  30. package/dist/graph/scope-resolution.js.map +1 -0
  31. package/dist/index.d.ts +27 -29
  32. package/dist/index.js +34 -34
  33. package/dist/index.js.map +1 -1
  34. package/dist/interfaces/graph-output.interface.d.ts +49 -14
  35. package/dist/utils/error-formatter.js +1 -6
  36. package/dist/utils/error-formatter.js.map +1 -1
  37. package/dist/utils/validator.d.ts +0 -5
  38. package/dist/utils/validator.js +0 -60
  39. package/dist/utils/validator.js.map +1 -1
  40. package/dist/visualize/json-formatter.d.ts +5 -6
  41. package/dist/visualize/json-formatter.js +49 -47
  42. package/dist/visualize/json-formatter.js.map +1 -1
  43. package/package.json +5 -4
  44. package/dist/interfaces/providers.interface.d.ts +0 -10
  45. package/dist/interfaces/providers.interface.js +0 -3
  46. package/dist/interfaces/providers.interface.js.map +0 -1
  47. package/dist/parser/dependency-extractor.d.ts +0 -88
  48. package/dist/parser/dependency-extractor.js +0 -334
  49. package/dist/parser/dependency-extractor.js.map +0 -1
  50. package/dist/parser/parse-entry-file.d.ts +0 -15
  51. package/dist/parser/parse-entry-file.js +0 -46
  52. package/dist/parser/parse-entry-file.js.map +0 -1
  53. package/dist/parser/parse-imports.d.ts +0 -15
  54. package/dist/parser/parse-imports.js +0 -65
  55. package/dist/parser/parse-imports.js.map +0 -1
  56. package/dist/parser/parse-ns-module.d.ts +0 -39
  57. package/dist/parser/parse-ns-module.js +0 -122
  58. package/dist/parser/parse-ns-module.js.map +0 -1
  59. package/dist/parser/parse-provider.d.ts +0 -2
  60. package/dist/parser/parse-provider.js +0 -7
  61. package/dist/parser/parse-provider.js.map +0 -1
  62. package/dist/parser/parse-ts-config.d.ts +0 -10
  63. package/dist/parser/parse-ts-config.js +0 -40
  64. package/dist/parser/parse-ts-config.js.map +0 -1
  65. package/dist/parser/parser-rec.d.ts +0 -1
  66. package/dist/parser/parser-rec.js +0 -52
  67. package/dist/parser/parser-rec.js.map +0 -1
  68. package/dist/parser/parser.d.ts +0 -1
  69. package/dist/parser/parser.js +0 -61
  70. package/dist/parser/parser.js.map +0 -1
  71. package/dist/parser/provider/class-parser.d.ts +0 -20
  72. package/dist/parser/provider/class-parser.js +0 -137
  73. package/dist/parser/provider/class-parser.js.map +0 -1
  74. package/dist/parser/provider/providers-parser.d.ts +0 -9
  75. package/dist/parser/provider/providers-parser.js +0 -32
  76. package/dist/parser/provider/providers-parser.js.map +0 -1
  77. package/dist/parser/provider/use-class-parser.d.ts +0 -25
  78. package/dist/parser/provider/use-class-parser.js +0 -161
  79. package/dist/parser/provider/use-class-parser.js.map +0 -1
  80. package/dist/parser/provider/use-factory-parser.d.ts +0 -15
  81. package/dist/parser/provider/use-factory-parser.js +0 -53
  82. package/dist/parser/provider/use-factory-parser.js.map +0 -1
  83. package/dist/parser/provider/use-value-parser.d.ts +0 -13
  84. package/dist/parser/provider/use-value-parser.js +0 -41
  85. package/dist/parser/provider/use-value-parser.js.map +0 -1
  86. package/dist/parser/rules.d.ts +0 -10
  87. package/dist/parser/rules.js +0 -37
  88. package/dist/parser/rules.js.map +0 -1
  89. package/dist/visualize/generator.d.ts +0 -26
  90. package/dist/visualize/generator.js +0 -75
  91. package/dist/visualize/generator.js.map +0 -1
  92. package/dist/visualize/graph-analyzer.d.ts +0 -126
  93. package/dist/visualize/graph-analyzer.js +0 -199
  94. package/dist/visualize/graph-analyzer.js.map +0 -1
  95. package/dist/visualize/html-generator.d.ts +0 -71
  96. package/dist/visualize/html-generator.js +0 -1312
  97. package/dist/visualize/html-generator.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import type { CircularDependency } from "../analyzer/circular-dependency-detector";
2
2
  import type { DepthLevel, ModuleDepthInfo } from "../analyzer/module-depth-analyzer";
3
- import type { ProviderScopeInfo, ScopeMismatch } from "../analyzer/provider-scope-analyzer";
3
+ import type { ProviderScopeInfo } from "../analyzer/provider-scope-analyzer";
4
4
  import type { UnusedProvider } from "../analyzer/unused-provider-detector";
5
- import type { Dependency } from "../parser/dependency-extractor";
5
+ import type { GraphUndeclaredDependency } from "../graph/nexus-graph-model";
6
6
  /**
7
7
  * Complete dependency graph output format
8
8
  *
@@ -53,10 +53,8 @@ export interface GraphAnalysis {
53
53
  totalProviders: number;
54
54
  /** Number of singleton providers */
55
55
  singletonProviders: number;
56
- /** Number of request-scoped providers */
57
- requestProviders: number;
58
- /** Scope mismatches detected */
59
- scopeMismatches: ScopeMismatch[];
56
+ /** Number of transient providers */
57
+ transientProviders: number;
60
58
  /** All provider scope information */
61
59
  providerScopes: ProviderScopeInfo[];
62
60
  };
@@ -81,24 +79,58 @@ export interface GraphMetadata {
81
79
  /** Total number of providers across all modules */
82
80
  totalProviders: number;
83
81
  }
82
+ /**
83
+ * A reference to a module or exported token, as shown in `ModuleInfo.imports`/
84
+ * `exports` and `ProviderInfo.module`. `path` disambiguates two same-named
85
+ * modules/tokens declared in different files — the file path where the
86
+ * referenced module/token is itself declared, when known.
87
+ *
88
+ * NOTE: this replaces the plain `string` shape these fields used before —
89
+ * a deliberate breaking change, since without a path a reader (human or
90
+ * renderer) has no way to tell two same-named modules apart.
91
+ */
92
+ export interface ModuleReferenceInfo {
93
+ name: string;
94
+ path?: string;
95
+ }
96
+ /**
97
+ * Dependency of a provider, as shown in `ProviderInfo.dependencies`.
98
+ */
99
+ export interface DependencyInfo {
100
+ token: string;
101
+ optional: boolean;
102
+ /** `true` when the provider lives in a child scope and this dependency
103
+ * comes from an ancestor scope. Present only when `true`.
104
+ *
105
+ * Approximate: computed from which scope registers the token, not from
106
+ * full imports/exports visibility. The type-checker's
107
+ * `NexusResolvedDependency.fromParentScope` is the precise value. */
108
+ crossScope?: boolean;
109
+ }
84
110
  /**
85
111
  * Information about a single module in the dependency graph
86
112
  *
87
- * Represents a Nexus IoC module decorated with @NsModule.
113
+ * Represents a Nexus IoC module decorated with @Module.
88
114
  */
89
115
  export interface ModuleInfo {
90
116
  /** Module name (class name) */
91
117
  name: string;
92
118
  /** File path where the module is defined */
93
119
  path: string;
94
- /** Names of modules imported by this module */
95
- imports: string[];
120
+ /** Modules imported by this module */
121
+ imports: ModuleReferenceInfo[];
96
122
  /** Tokens of providers exported by this module */
97
- exports: string[];
123
+ exports: ModuleReferenceInfo[];
98
124
  /** Tokens of providers registered in this module */
99
125
  providers: string[];
100
126
  /** Whether this module is marked as global */
101
127
  isGlobal: boolean;
128
+ /** Name of the root module of the container scope this module belongs
129
+ * to. Present only when the application declares child scopes via
130
+ * `@Module({ children })`. */
131
+ scope?: string;
132
+ /** Modules declared in `@Module({ children })`, present only when non-empty. */
133
+ children?: ModuleReferenceInfo[];
102
134
  }
103
135
  /**
104
136
  * Information about a single provider in the dependency graph
@@ -111,12 +143,15 @@ export interface ProviderInfo {
111
143
  token: string;
112
144
  /** Type of provider */
113
145
  type: "Class" | "UseValue" | "UseFactory" | "UseClass";
114
- /** Name of the module that registers this provider */
115
- module: string;
146
+ /** The module that registers this provider */
147
+ module: ModuleReferenceInfo;
116
148
  /** Lifecycle scope of the provider (only for class providers) */
117
- scope?: "Singleton" | "Request" | "Transient";
149
+ scope?: "Singleton" | "Transient";
118
150
  /** Dependencies required by this provider */
119
- dependencies: Dependency[];
151
+ dependencies: DependencyInfo[];
152
+ /** Constructor parameters/properties that look like dependencies but have
153
+ * no `@Inject` — present only when non-empty. */
154
+ undeclaredDependencies?: GraphUndeclaredDependency[];
120
155
  /** Static value (only for UseValue providers) */
121
156
  value?: string;
122
157
  /** Factory function name (only for UseFactory providers) */
@@ -96,7 +96,7 @@ class ErrorFormatter {
96
96
  // No entry module errors
97
97
  else if (errorMessage.includes("No entry module")) {
98
98
  suggestions.push("Make sure your entry file contains a NexusFactory.create() call");
99
- suggestions.push("Check that the root module is properly decorated with @NsModule");
99
+ suggestions.push("Check that the root module is properly decorated with @Module");
100
100
  suggestions.push("");
101
101
  suggestions.push("Example entry file:");
102
102
  suggestions.push(" import { NexusFactory } from '@nexus-ioc/core';");
@@ -104,11 +104,6 @@ class ErrorFormatter {
104
104
  suggestions.push("");
105
105
  suggestions.push(" const app = NexusFactory.create(AppModule);");
106
106
  }
107
- // Invalid format errors
108
- else if (errorMessage.includes("Invalid format")) {
109
- suggestions.push("Use one of: json, png, html, or both");
110
- suggestions.push("Example: graph-analyzer -f json src/main.ts");
111
- }
112
107
  // Invalid configuration errors
113
108
  else if (errorMessage.includes("Invalid configuration")) {
114
109
  suggestions.push("Check your configuration file syntax");
@@ -1 +1 @@
1
- {"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../src/utils/error-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../src/utils/error-formatter.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,6 @@ export declare class Validator {
21
21
  * Validate that tsconfig.json exists if specified
22
22
  */
23
23
  static validateTsConfig(tsConfigPath: string | undefined): ValidationError | null;
24
- /**
25
- * Check if Graphviz is installed (required for PNG generation)
26
- */
27
- static validateGraphvizInstalled(format: string | undefined): ValidationError | null;
28
24
  /**
29
25
  * Validate entry file comprehensively
30
26
  */
@@ -40,6 +36,5 @@ export declare class Validator {
40
36
  entryFile: string;
41
37
  tsConfig?: string;
42
38
  output?: string;
43
- format?: string;
44
39
  }): ValidationError | null;
45
40
  }
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Validator = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const node_child_process_1 = require("node:child_process");
6
5
  const fs = tslib_1.__importStar(require("node:fs"));
7
6
  const path = tslib_1.__importStar(require("node:path"));
8
7
  class Validator {
@@ -107,61 +106,6 @@ class Validator {
107
106
  };
108
107
  }
109
108
  }
110
- /**
111
- * Check if Graphviz is installed (required for PNG generation)
112
- */
113
- static validateGraphvizInstalled(format) {
114
- // Only check if PNG output is requested
115
- if (format !== "png" && format !== "both" && format !== undefined) {
116
- return null;
117
- }
118
- try {
119
- const result = (0, node_child_process_1.spawnSync)("dot", ["-V"], {
120
- stdio: "pipe",
121
- encoding: "utf8",
122
- });
123
- // Graphviz returns version info on stderr
124
- if (result.error || (!result.stdout && !result.stderr)) {
125
- return {
126
- type: "GRAPHVIZ_NOT_FOUND",
127
- message: "Graphviz is not installed or not in PATH",
128
- suggestions: [
129
- "Install Graphviz to generate PNG visualizations",
130
- "",
131
- "Installation instructions:",
132
- " • macOS: brew install graphviz",
133
- " • Ubuntu/Debian: sudo apt-get install graphviz",
134
- " • Windows: choco install graphviz",
135
- " • Or download from: https://graphviz.org/download/",
136
- "",
137
- "Alternatively, use JSON or HTML format instead:",
138
- " graph-analyzer -f json src/main.ts",
139
- " graph-analyzer -f html src/main.ts",
140
- ],
141
- };
142
- }
143
- return null;
144
- }
145
- catch (_error) {
146
- return {
147
- type: "GRAPHVIZ_NOT_FOUND",
148
- message: "Graphviz is not installed or not in PATH",
149
- suggestions: [
150
- "Install Graphviz to generate PNG visualizations",
151
- "",
152
- "Installation instructions:",
153
- " • macOS: brew install graphviz",
154
- " • Ubuntu/Debian: sudo apt-get install graphviz",
155
- " • Windows: choco install graphviz",
156
- " • Or download from: https://graphviz.org/download/",
157
- "",
158
- "Alternatively, use JSON or HTML format instead:",
159
- " graph-analyzer -f json src/main.ts",
160
- " graph-analyzer -f html src/main.ts",
161
- ],
162
- };
163
- }
164
- }
165
109
  /**
166
110
  * Validate entry file comprehensively
167
111
  */
@@ -235,10 +179,6 @@ class Validator {
235
179
  const tsConfigError = Validator.validateTsConfig(options.tsConfig);
236
180
  if (tsConfigError)
237
181
  return tsConfigError;
238
- // Validate Graphviz for PNG generation
239
- const graphvizError = Validator.validateGraphvizInstalled(options.format);
240
- if (graphvizError)
241
- return graphvizError;
242
182
  // Validate output directory if provided
243
183
  if (options.output) {
244
184
  const outputError = Validator.validateOutputDirectory(options.output);
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
+ import type { NexusGraphModel } from "../graph/nexus-graph-model";
1
2
  import type { GraphOutput } from "../interfaces/graph-output.interface";
2
- import type { ParseEntryFile } from "../parser/parse-entry-file";
3
- import type { ParseNsModule } from "../parser/parse-ns-module";
4
3
  /**
5
4
  * Formats dependency graphs as structured JSON output
6
5
  *
@@ -9,7 +8,7 @@ import type { ParseNsModule } from "../parser/parse-ns-module";
9
8
  *
10
9
  * @example
11
10
  * ```typescript
12
- * const formatter = new JsonFormatter(modulesGraph, 'src/main.ts');
11
+ * const formatter = new JsonFormatter(graphModel, 'src/main.ts');
13
12
  * const output = formatter.format();
14
13
  *
15
14
  * console.log(`Modules: ${output.modules.length}`);
@@ -21,7 +20,7 @@ import type { ParseNsModule } from "../parser/parse-ns-module";
21
20
  * ```
22
21
  */
23
22
  export declare class JsonFormatter {
24
- private readonly graph;
23
+ private readonly graphModel;
25
24
  private readonly entryPoint;
26
25
  private readonly checkCircular;
27
26
  private readonly checkUnused;
@@ -31,7 +30,7 @@ export declare class JsonFormatter {
31
30
  /**
32
31
  * Create a new JsonFormatter instance
33
32
  *
34
- * @param graph - Map of module names to parsed modules
33
+ * @param graphModel - The application's graph model
35
34
  * @param entryPoint - Path to application entry point file
36
35
  * @param checkCircular - Whether to perform circular dependency detection
37
36
  * @param checkUnused - Whether to perform unused provider detection
@@ -39,7 +38,7 @@ export declare class JsonFormatter {
39
38
  * @param deepModuleThreshold - Threshold for identifying deep modules
40
39
  * @param checkScope - Whether to perform provider scope analysis
41
40
  */
42
- constructor(graph: Map<string, ParseNsModule | ParseEntryFile>, entryPoint: string, checkCircular?: boolean, checkUnused?: boolean, checkDepth?: boolean, deepModuleThreshold?: number, checkScope?: boolean);
41
+ constructor(graphModel: NexusGraphModel, entryPoint: string, checkCircular?: boolean, checkUnused?: boolean, checkDepth?: boolean, deepModuleThreshold?: number, checkScope?: boolean);
43
42
  /**
44
43
  * Format the dependency graph as a structured JSON object
45
44
  *
@@ -13,7 +13,7 @@ const unused_provider_detector_1 = require("../analyzer/unused-provider-detector
13
13
  *
14
14
  * @example
15
15
  * ```typescript
16
- * const formatter = new JsonFormatter(modulesGraph, 'src/main.ts');
16
+ * const formatter = new JsonFormatter(graphModel, 'src/main.ts');
17
17
  * const output = formatter.format();
18
18
  *
19
19
  * console.log(`Modules: ${output.modules.length}`);
@@ -28,7 +28,7 @@ class JsonFormatter {
28
28
  /**
29
29
  * Create a new JsonFormatter instance
30
30
  *
31
- * @param graph - Map of module names to parsed modules
31
+ * @param graphModel - The application's graph model
32
32
  * @param entryPoint - Path to application entry point file
33
33
  * @param checkCircular - Whether to perform circular dependency detection
34
34
  * @param checkUnused - Whether to perform unused provider detection
@@ -36,8 +36,8 @@ class JsonFormatter {
36
36
  * @param deepModuleThreshold - Threshold for identifying deep modules
37
37
  * @param checkScope - Whether to perform provider scope analysis
38
38
  */
39
- constructor(graph, entryPoint, checkCircular = false, checkUnused = false, checkDepth = false, deepModuleThreshold = 5, checkScope = false) {
40
- this.graph = graph;
39
+ constructor(graphModel, entryPoint, checkCircular = false, checkUnused = false, checkDepth = false, deepModuleThreshold = 5, checkScope = false) {
40
+ this.graphModel = graphModel;
41
41
  this.entryPoint = entryPoint;
42
42
  this.checkCircular = checkCircular;
43
43
  this.checkUnused = checkUnused;
@@ -76,33 +76,34 @@ class JsonFormatter {
76
76
  * ```
77
77
  */
78
78
  format() {
79
- const entryModule = this.graph.get("entry");
80
- if (!entryModule || !entryModule.name) {
79
+ const entryModule = this.graphModel.modules.get(this.graphModel.entryModuleId);
80
+ if (!entryModule) {
81
81
  throw new Error("Empty entry module");
82
82
  }
83
83
  const modules = [];
84
84
  const providers = [];
85
85
  const visitedModules = new Set();
86
- const modulesToVisit = [entryModule.name];
86
+ const modulesToVisit = [entryModule.id];
87
87
  // Traverse all modules
88
88
  while (modulesToVisit.length > 0) {
89
- const moduleName = modulesToVisit.shift();
90
- if (!moduleName || visitedModules.has(moduleName)) {
89
+ const moduleId = modulesToVisit.shift();
90
+ if (!moduleId || visitedModules.has(moduleId)) {
91
91
  continue;
92
92
  }
93
- visitedModules.add(moduleName);
94
- const parseNsModule = this.graph.get(moduleName);
95
- if (!parseNsModule) {
93
+ visitedModules.add(moduleId);
94
+ const module = this.graphModel.modules.get(moduleId);
95
+ if (!module) {
96
96
  continue;
97
97
  }
98
98
  // Add module info
99
- modules.push(this.formatModule(parseNsModule, moduleName));
99
+ modules.push(this.formatModule(module));
100
100
  // Add provider info
101
- for (const provider of parseNsModule.providers) {
102
- providers.push(this.formatProvider(provider, moduleName));
101
+ for (const provider of module.providers) {
102
+ providers.push(this.formatProvider(provider, module));
103
103
  }
104
- // Queue imported modules
105
- modulesToVisit.push(...parseNsModule.imports);
104
+ // Queue imported modules, then declared child modules
105
+ modulesToVisit.push(...module.imports.map((entry) => entry.id));
106
+ modulesToVisit.push(...(module.children ?? []).map((entry) => entry.id));
106
107
  }
107
108
  // Create metadata
108
109
  const metadata = {
@@ -120,7 +121,7 @@ class JsonFormatter {
120
121
  };
121
122
  // Add circular dependency analysis if enabled
122
123
  if (this.checkCircular) {
123
- const detector = new circular_dependency_detector_1.CircularDependencyDetector(this.graph);
124
+ const detector = new circular_dependency_detector_1.CircularDependencyDetector(this.graphModel);
124
125
  const analysis = detector.analyze();
125
126
  if (analysis.hasCircularDependencies) {
126
127
  if (!output.analysis) {
@@ -131,7 +132,7 @@ class JsonFormatter {
131
132
  }
132
133
  // Add unused provider analysis if enabled
133
134
  if (this.checkUnused) {
134
- const detector = new unused_provider_detector_1.UnusedProviderDetector(this.graph);
135
+ const detector = new unused_provider_detector_1.UnusedProviderDetector(this.graphModel);
135
136
  const analysis = detector.analyze();
136
137
  if (analysis.hasUnusedProviders) {
137
138
  if (!output.analysis) {
@@ -142,7 +143,7 @@ class JsonFormatter {
142
143
  }
143
144
  // Add module depth analysis if enabled
144
145
  if (this.checkDepth) {
145
- const analyzer = new module_depth_analyzer_1.ModuleDepthAnalyzer(this.graph, this.deepModuleThreshold);
146
+ const analyzer = new module_depth_analyzer_1.ModuleDepthAnalyzer(this.graphModel, this.deepModuleThreshold);
146
147
  const analysis = analyzer.analyze();
147
148
  if (analysis.hasDepthAnalysis) {
148
149
  if (!output.analysis) {
@@ -161,7 +162,7 @@ class JsonFormatter {
161
162
  }
162
163
  // Add provider scope analysis if enabled
163
164
  if (this.checkScope) {
164
- const analyzer = new provider_scope_analyzer_1.ProviderScopeAnalyzer(this.graph);
165
+ const analyzer = new provider_scope_analyzer_1.ProviderScopeAnalyzer(this.graphModel);
165
166
  const analysis = analyzer.analyze();
166
167
  if (analysis.hasScopeAnalysis) {
167
168
  if (!output.analysis) {
@@ -170,8 +171,7 @@ class JsonFormatter {
170
171
  output.analysis.scopeAnalysis = {
171
172
  totalProviders: analysis.totalProviders,
172
173
  singletonProviders: analysis.singletonProviders,
173
- requestProviders: analysis.requestProviders,
174
- scopeMismatches: analysis.scopeMismatches,
174
+ transientProviders: analysis.transientProviders,
175
175
  providerScopes: analysis.providerScopes,
176
176
  };
177
177
  }
@@ -181,43 +181,42 @@ class JsonFormatter {
181
181
  /**
182
182
  * Format a module as ModuleInfo
183
183
  */
184
- formatModule(parseNsModule, moduleName) {
185
- return {
186
- name: moduleName,
187
- path: parseNsModule.filePath || "",
188
- imports: parseNsModule.imports,
189
- exports: parseNsModule.exports,
190
- providers: parseNsModule.providers
191
- .map((p) => p.token)
192
- .filter((token) => token !== null),
193
- isGlobal: parseNsModule.isGlobal,
184
+ formatModule(module) {
185
+ const moduleInfo = {
186
+ name: module.name,
187
+ path: module.path,
188
+ imports: module.imports.map(toModuleReferenceInfo),
189
+ exports: module.exports.map(toModuleReferenceInfo),
190
+ providers: module.providers.map((provider) => provider.token),
191
+ isGlobal: module.isGlobal,
194
192
  };
193
+ if (module.scope !== undefined) {
194
+ moduleInfo.scope =
195
+ this.graphModel.modules.get(module.scope)?.name ?? module.scope;
196
+ }
197
+ if (module.children && module.children.length > 0) {
198
+ moduleInfo.children = module.children.map(toModuleReferenceInfo);
199
+ }
200
+ return moduleInfo;
195
201
  }
196
202
  /**
197
203
  * Format a provider as ProviderInfo
198
204
  */
199
- formatProvider(
200
- // biome-ignore lint/suspicious/noExplicitAny: Provider type is complex
201
- provider, moduleName) {
205
+ formatProvider(provider, module) {
202
206
  const providerInfo = {
203
207
  token: provider.token,
204
208
  type: provider.type,
205
- module: moduleName,
206
- dependencies: provider.dependencies || [],
209
+ module: { name: module.name, path: module.path },
210
+ dependencies: provider.dependencies.map(({ token, optional, crossScope }) => crossScope ? { token, optional, crossScope } : { token, optional }),
207
211
  };
208
- // Add scope if present
209
212
  if (provider.scope) {
210
213
  providerInfo.scope = provider.scope;
211
214
  }
212
- // Add type-specific fields
213
- if (provider.type === "UseValue" && provider.value !== undefined) {
214
- providerInfo.value = String(provider.value);
215
+ if (provider.type === "UseClass" && provider.useClass) {
216
+ providerInfo.useClass = provider.useClass;
215
217
  }
216
- if (provider.type === "UseFactory" && provider.inject) {
217
- providerInfo.factory = provider.inject;
218
- }
219
- if (provider.type === "UseClass" && provider.inject) {
220
- providerInfo.useClass = provider.inject;
218
+ if (provider.undeclaredDependencies.length > 0) {
219
+ providerInfo.undeclaredDependencies = provider.undeclaredDependencies;
221
220
  }
222
221
  return providerInfo;
223
222
  }
@@ -249,4 +248,7 @@ class JsonFormatter {
249
248
  }
250
249
  }
251
250
  exports.JsonFormatter = JsonFormatter;
251
+ function toModuleReferenceInfo(entry) {
252
+ return { name: entry.name, path: entry.path };
253
+ }
252
254
  //# sourceMappingURL=json-formatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../src/visualize/json-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../src/visualize/json-formatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexus-ioc/graph-analyzer",
3
- "version": "0.1.0",
4
- "description": "Static analysis and visualization tool for Nexus IoC dependency injection graphs. Detect circular dependencies, unused providers, scope mismatches, and visualize your architecture with interactive HTML graphs.",
3
+ "version": "0.2.0",
4
+ "description": "Static analysis and visualization tool for Nexus IoC dependency injection graphs. Detect circular dependencies, unused providers, provider scopes, and visualize your architecture with interactive HTML graphs.",
5
5
  "keywords": [
6
6
  "nexus-ioc",
7
7
  "dependency-injection",
@@ -79,7 +79,8 @@
79
79
  "url": "https://github.com/Isqanderm/ioc/issues"
80
80
  },
81
81
  "dependencies": {
82
- "@phenomnomnominal/tsquery": "^6.1.3",
83
- "cli-spinners": "^2.9.2"
82
+ "@nexus-ioc/type-checker": "^0.2.0",
83
+ "cli-spinners": "^2.9.2",
84
+ "typescript": "^5.9.3"
84
85
  }
85
86
  }
@@ -1,10 +0,0 @@
1
- import type { Dependency } from "../parser/dependency-extractor";
2
- export interface ProvidersInterface {
3
- parse(): this;
4
- token: string | null;
5
- value?: string | null;
6
- scope?: string | null;
7
- inject?: string[];
8
- type: string;
9
- dependencies?: Dependency[];
10
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=providers.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.interface.js","sourceRoot":"","sources":["../../src/interfaces/providers.interface.ts"],"names":[],"mappings":""}