@notjustcoders/ioc-arise 1.1.10 → 1.1.12
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 +37 -115
- package/dist/analyser/ast-parser.d.ts.map +1 -1
- package/dist/analyser/ast-parser.js +42 -44
- package/dist/analyser/ast-parser.js.map +1 -1
- package/dist/analyser/class-analyzer.d.ts.map +1 -1
- package/dist/analyser/class-analyzer.js +35 -40
- package/dist/analyser/class-analyzer.js.map +1 -1
- package/dist/analyser/file-discovery.d.ts.map +1 -1
- package/dist/analyser/file-discovery.js +0 -3
- package/dist/analyser/file-discovery.js.map +1 -1
- package/dist/analyser/project-analyzer.d.ts.map +1 -1
- package/dist/analyser/project-analyzer.js +12 -9
- package/dist/analyser/project-analyzer.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +33 -26
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +65 -48
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/visualize.d.ts.map +1 -1
- package/dist/commands/visualize.js +20 -13
- package/dist/commands/visualize.js.map +1 -1
- package/dist/errors/IoCError.d.ts +7 -0
- package/dist/errors/IoCError.d.ts.map +1 -1
- package/dist/errors/IoCError.js +16 -1
- package/dist/errors/IoCError.js.map +1 -1
- package/dist/errors/errorFactory.d.ts +1 -1
- package/dist/errors/errorFactory.d.ts.map +1 -1
- package/dist/errors/errorFactory.js +23 -23
- package/dist/errors/errorFactory.js.map +1 -1
- package/dist/generator/index.d.ts +2 -19
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +16 -34
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/ioc-container-generator.d.ts +27 -0
- package/dist/generator/ioc-container-generator.d.ts.map +1 -0
- package/dist/generator/ioc-container-generator.js +353 -0
- package/dist/generator/ioc-container-generator.js.map +1 -0
- package/dist/generator/type-declaration-generator.d.ts +10 -0
- package/dist/generator/type-declaration-generator.d.ts.map +1 -0
- package/dist/generator/type-declaration-generator.js +141 -0
- package/dist/generator/type-declaration-generator.js.map +1 -0
- package/dist/index.js +14 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/circular-dependency-detector.d.ts +16 -0
- package/dist/utils/circular-dependency-detector.d.ts.map +1 -0
- package/dist/utils/circular-dependency-detector.js +70 -0
- package/dist/utils/circular-dependency-detector.js.map +1 -0
- package/dist/utils/configManager.d.ts.map +1 -1
- package/dist/utils/configManager.js +8 -6
- package/dist/utils/configManager.js.map +1 -1
- package/dist/utils/configValidator.d.ts +1 -1
- package/dist/utils/configValidator.d.ts.map +1 -1
- package/dist/utils/configValidator.js +18 -15
- package/dist/utils/configValidator.js.map +1 -1
- package/dist/utils/logger.d.ts +93 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +162 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/moduleResolver.d.ts +1 -1
- package/dist/utils/moduleResolver.d.ts.map +1 -1
- package/dist/utils/moduleResolver.js +5 -5
- package/dist/utils/moduleResolver.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# IoC Arise
|
|
2
2
|
|
|
3
|
-
A command-line tool that automatically generates type-safe IoC (Inversion of Control) containers for TypeScript projects. It analyzes your classes, detects dependencies, and
|
|
3
|
+
A command-line tool that automatically generates type-safe IoC (Inversion of Control) containers for TypeScript projects using the `ioc-arise` runtime library. It analyzes your classes, detects dependencies, and generates the necessary registration code.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -12,7 +12,6 @@ A command-line tool that automatically generates type-safe IoC (Inversion of Con
|
|
|
12
12
|
- [Priority Order](#priority-order)
|
|
13
13
|
- [Examples](#examples)
|
|
14
14
|
- [Basic Example](#basic-example)
|
|
15
|
-
- [Multi-Module Example](#multi-module-example)
|
|
16
15
|
- [Usage in Your Code](#usage-in-your-code)
|
|
17
16
|
- [Development](#development)
|
|
18
17
|
- [Limitations](#limitations)
|
|
@@ -20,25 +19,25 @@ A command-line tool that automatically generates type-safe IoC (Inversion of Con
|
|
|
20
19
|
|
|
21
20
|
## Features
|
|
22
21
|
|
|
23
|
-
- 🔍 **Automatic Detection**: Finds
|
|
22
|
+
- 🔍 **Automatic Detection**: Finds classes to be registered
|
|
24
23
|
- 🧠 **Dependency Analysis**: Parses constructor dependencies from TypeScript code
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
- 🚫 **No Decorators**: Pure static analysis, no runtime registration needed
|
|
24
|
+
- 🛡️ **Type Safety**: Uses the type-safe `ioc-arise` runtime library
|
|
25
|
+
- 🚫 **No Decorators**: Pure static analysis, no runtime decorators required
|
|
28
26
|
- ⚠️ **Circular Dependency Detection**: Warns about dependency cycles
|
|
29
27
|
|
|
30
28
|
## Installation
|
|
31
29
|
|
|
30
|
+
First, install the runtime library and the CLI:
|
|
31
|
+
|
|
32
32
|
```bash
|
|
33
|
-
# Install
|
|
33
|
+
# Install runtime library
|
|
34
|
+
npm install ioc-arise
|
|
35
|
+
|
|
36
|
+
# Install CLI globally
|
|
34
37
|
npm install -g @notjustcoders/ioc-arise
|
|
35
38
|
|
|
36
39
|
# Or use with npx
|
|
37
40
|
npx @notjustcoders/ioc-arise --help
|
|
38
|
-
|
|
39
|
-
# For development
|
|
40
|
-
pnpm install
|
|
41
|
-
pnpm run build
|
|
42
41
|
```
|
|
43
42
|
|
|
44
43
|
## Usage
|
|
@@ -98,112 +97,39 @@ minimal-todo/
|
|
|
98
97
|
└── container.gen.ts (generated)
|
|
99
98
|
```
|
|
100
99
|
|
|
101
|
-
|
|
102
|
-
```json
|
|
103
|
-
{
|
|
104
|
-
"source": ".",
|
|
105
|
-
"output": "container.gen.ts"
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Generated container:
|
|
100
|
+
Generated container (`container.gen.ts`):
|
|
110
101
|
```typescript
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
│ ├── User.ts
|
|
132
|
-
│ ├── IUserRepository.ts
|
|
133
|
-
│ ├── UserRepository.ts
|
|
134
|
-
│ ├── IUserService.ts
|
|
135
|
-
│ └── UserService.ts
|
|
136
|
-
├── todo/
|
|
137
|
-
│ ├── Todo.ts
|
|
138
|
-
│ ├── ITodoRepository.ts
|
|
139
|
-
│ ├── TodoRepository.ts
|
|
140
|
-
│ ├── ITodoService.ts
|
|
141
|
-
│ └── TodoService.ts
|
|
142
|
-
├── ioc.config.json
|
|
143
|
-
└── container.gen.ts (generated)
|
|
102
|
+
/**
|
|
103
|
+
* This file is auto-generated by ioc-arise.
|
|
104
|
+
* Do not modify this file manually.
|
|
105
|
+
*/
|
|
106
|
+
import { Container, Lifecycle } from '@notjustcoders/di-container';
|
|
107
|
+
import { InMemoryTodoRepository } from './repositories/InMemoryTodoRepository';
|
|
108
|
+
import { TodoService } from './services/TodoService';
|
|
109
|
+
|
|
110
|
+
export const container = new Container();
|
|
111
|
+
|
|
112
|
+
container.register(InMemoryTodoRepository, {
|
|
113
|
+
useClass: InMemoryTodoRepository,
|
|
114
|
+
lifecycle: Lifecycle.Singleton,
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
container.register(TodoService, {
|
|
118
|
+
useClass: TodoService,
|
|
119
|
+
dependencies: [InMemoryTodoRepository],
|
|
120
|
+
lifecycle: Lifecycle.Transient,
|
|
121
|
+
});
|
|
144
122
|
```
|
|
145
123
|
|
|
146
|
-
Configuration (`ioc.config.json`):
|
|
147
|
-
```json
|
|
148
|
-
{
|
|
149
|
-
"source": ".",
|
|
150
|
-
"output": "container.gen.ts",
|
|
151
|
-
"modules": {
|
|
152
|
-
"UserModule": ["user/**"],
|
|
153
|
-
"TodoModule": ["todo/**"]
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Generated container:
|
|
159
|
-
```typescript
|
|
160
|
-
// ... imports ...
|
|
161
|
-
|
|
162
|
-
// Module container functions
|
|
163
|
-
function createUserModuleContainer() {
|
|
164
|
-
// ... lazy initialization variables ...
|
|
165
|
-
// Lazy initialization for UserModule services
|
|
166
|
-
return {
|
|
167
|
-
get IUserService(): UserService { /* ... */ },
|
|
168
|
-
get IUserRepository(): UserRepository { /* ... */ }
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
function createTodoModuleContainer(userModuleContainer) {
|
|
173
|
-
// ... lazy initialization variables ...
|
|
174
|
-
// TodoModule with cross-module dependencies
|
|
175
|
-
return {
|
|
176
|
-
get ITodoService(): TodoService { /* ... */ },
|
|
177
|
-
get ITodoRepository(): TodoRepository { /* ... */ }
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// Module instantiation with dependency injection
|
|
182
|
-
const userModuleContainer = createUserModuleContainer();
|
|
183
|
-
const todoModuleContainer = createTodoModuleContainer(userModuleContainer);
|
|
184
|
-
|
|
185
|
-
export const container = {
|
|
186
|
-
userModule: userModuleContainer,
|
|
187
|
-
todoModule: todoModuleContainer
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
export type Container = typeof container;
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
See the `examples/` directory for complete working examples.
|
|
194
|
-
|
|
195
124
|
## Usage in Your Code
|
|
196
125
|
|
|
197
126
|
```typescript
|
|
198
127
|
import { container } from './container.gen';
|
|
128
|
+
import { TodoService } from './services/TodoService';
|
|
199
129
|
|
|
200
|
-
//
|
|
201
|
-
const todoService = container.
|
|
130
|
+
// Resolve dependencies
|
|
131
|
+
const todoService = container.resolve(TodoService);
|
|
202
132
|
const todos = await todoService.getAllTodos();
|
|
203
|
-
|
|
204
|
-
// Multi-module usage
|
|
205
|
-
const userService = container.userModule.IUserService;
|
|
206
|
-
const todoService = container.todoModule.ITodoService;
|
|
207
133
|
```
|
|
208
134
|
|
|
209
135
|
## Development
|
|
@@ -214,18 +140,14 @@ pnpm run dev
|
|
|
214
140
|
|
|
215
141
|
# Build for production
|
|
216
142
|
pnpm run build
|
|
217
|
-
|
|
218
|
-
# Run built version
|
|
219
|
-
pnpm run start
|
|
220
143
|
```
|
|
221
144
|
|
|
222
145
|
## Limitations
|
|
223
146
|
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
- Circular dependencies are detected and warned about, but not automatically resolved
|
|
147
|
+
- Constructor parameters must be typed with classes that are also analyzed
|
|
148
|
+
- Circular dependencies are detected and warned about
|
|
227
149
|
- Only analyzes TypeScript files (`.ts` extension)
|
|
228
150
|
|
|
229
151
|
## Contributing
|
|
230
152
|
|
|
231
|
-
Contributions are welcome! Please feel free to submit issues and pull requests.
|
|
153
|
+
Contributions are welcome! Please feel free to submit issues and pull requests.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhE,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYhC,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQnD,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQ7C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA0BhC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuBpD,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIxD,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAI1D,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAMxC,4BAA4B,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB,EAAE;IA+EpE,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAgE5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc;IAIlG,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAgClD,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA2DrD,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE;CA8CvC"}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ASTParser = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const napi_1 = require("@ast-grep/napi");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const errorFactory_1 = require("../errors/errorFactory");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
8
|
class ASTParser {
|
|
9
9
|
parseFile(filePath) {
|
|
10
10
|
try {
|
|
@@ -13,7 +13,7 @@ class ASTParser {
|
|
|
13
13
|
return ast.root();
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
|
-
throw
|
|
16
|
+
throw errorFactory_1.ErrorFactory.fileReadError(filePath, error instanceof Error ? error.message : String(error));
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
findClassesImplementingInterfaces(root) {
|
|
@@ -53,11 +53,11 @@ class ASTParser {
|
|
|
53
53
|
return [...regularClasses, ...abstractClasses, ...exportedAbstractClasses];
|
|
54
54
|
}
|
|
55
55
|
extractClassName(classNode) {
|
|
56
|
-
|
|
56
|
+
logger_1.Logger.debug('Extracting class name from node:', { result: classNode.text().substring(0, 100) + '...' });
|
|
57
57
|
// Try different approaches to extract class name
|
|
58
58
|
let className = classNode.getMatch('CLASS')?.text();
|
|
59
59
|
if (className) {
|
|
60
|
-
|
|
60
|
+
logger_1.Logger.debug('Found class name using CLASS match:', { className });
|
|
61
61
|
return className;
|
|
62
62
|
}
|
|
63
63
|
// Try to match the class declaration pattern directly
|
|
@@ -65,10 +65,10 @@ class ASTParser {
|
|
|
65
65
|
const classMatch = classText.match(/class\s+([A-Za-z_][A-Za-z0-9_]*)/);
|
|
66
66
|
if (classMatch) {
|
|
67
67
|
className = classMatch[1];
|
|
68
|
-
|
|
68
|
+
logger_1.Logger.debug('Found class name using regex:', { className });
|
|
69
69
|
return className;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
logger_1.Logger.debug('Failed to extract class name');
|
|
72
72
|
return undefined;
|
|
73
73
|
}
|
|
74
74
|
extractInterfaceName(classNode) {
|
|
@@ -79,9 +79,7 @@ class ASTParser {
|
|
|
79
79
|
}
|
|
80
80
|
isAbstractClass(classNode) {
|
|
81
81
|
const classText = classNode.text();
|
|
82
|
-
console.log(`DEBUG: isAbstractClass - classText: ${classText}`);
|
|
83
82
|
const isAbstract = classText.includes('abstract class');
|
|
84
|
-
console.log(`DEBUG: isAbstractClass - result: ${isAbstract}`);
|
|
85
83
|
return isAbstract;
|
|
86
84
|
}
|
|
87
85
|
extractConstructorParameters(classNode) {
|
|
@@ -95,7 +93,7 @@ class ASTParser {
|
|
|
95
93
|
regex: "^constructor"
|
|
96
94
|
}
|
|
97
95
|
});
|
|
98
|
-
|
|
96
|
+
logger_1.Logger.debug(`Found ${constructorNodes.length} constructor nodes`);
|
|
99
97
|
if (constructorNodes.length === 0) {
|
|
100
98
|
return parameters;
|
|
101
99
|
}
|
|
@@ -122,10 +120,10 @@ class ASTParser {
|
|
|
122
120
|
}
|
|
123
121
|
});
|
|
124
122
|
const paramNodes = [...requiredParamNodes, ...optionalParamNodes];
|
|
125
|
-
|
|
123
|
+
logger_1.Logger.debug(`Found ${paramNodes.length} parameter nodes`);
|
|
126
124
|
for (const paramNode of paramNodes) {
|
|
127
125
|
const paramText = paramNode.text();
|
|
128
|
-
|
|
126
|
+
logger_1.Logger.debug('Parameter text:', paramText);
|
|
129
127
|
// Parse parameter using regex to extract details
|
|
130
128
|
const paramMatch = paramText.match(/(?:(private|public|protected)\s+)?(\w+)(\?)?\s*:\s*(\w+)/);
|
|
131
129
|
if (paramMatch) {
|
|
@@ -136,14 +134,14 @@ class ASTParser {
|
|
|
136
134
|
isOptional: !!optional,
|
|
137
135
|
accessModifier: accessModifier
|
|
138
136
|
});
|
|
139
|
-
|
|
137
|
+
logger_1.Logger.debug(`Extracted parameter: ${name}: ${type}${optional ? '?' : ''} (${accessModifier || 'none'})`);
|
|
140
138
|
}
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
141
|
catch (error) {
|
|
144
|
-
|
|
142
|
+
logger_1.Logger.warn('Warning: Could not extract constructor parameters:', { error });
|
|
145
143
|
}
|
|
146
|
-
|
|
144
|
+
logger_1.Logger.debug('Final parameters:', { parameters });
|
|
147
145
|
return parameters;
|
|
148
146
|
}
|
|
149
147
|
extractJSDocComments(root) {
|
|
@@ -155,40 +153,40 @@ class ASTParser {
|
|
|
155
153
|
kind: 'comment'
|
|
156
154
|
}
|
|
157
155
|
});
|
|
158
|
-
|
|
156
|
+
logger_1.Logger.debug(`Found ${comments.length} comments in file`);
|
|
159
157
|
// Find all class declarations
|
|
160
158
|
const classDeclarations = root.findAll({
|
|
161
159
|
rule: {
|
|
162
160
|
kind: 'class_declaration'
|
|
163
161
|
}
|
|
164
162
|
});
|
|
165
|
-
|
|
163
|
+
logger_1.Logger.debug(`Found ${classDeclarations.length} class declarations in file`);
|
|
166
164
|
for (const comment of comments) {
|
|
167
165
|
const commentText = comment.text();
|
|
168
|
-
|
|
166
|
+
logger_1.Logger.debug(`Comment text: ${commentText}`);
|
|
169
167
|
if (commentText.includes('/**') && commentText.includes('@scope')) {
|
|
170
|
-
|
|
168
|
+
logger_1.Logger.debug(`Found @scope comment: ${commentText}`);
|
|
171
169
|
const scopeMatch = commentText.match(/@scope\s+(singleton|transient)/);
|
|
172
170
|
if (scopeMatch) {
|
|
173
171
|
const scope = scopeMatch[1];
|
|
174
172
|
const commentRange = comment.range();
|
|
175
|
-
|
|
173
|
+
logger_1.Logger.debug(`Comment range: line ${commentRange.start.line} to ${commentRange.end.line}`);
|
|
176
174
|
// Find the class declaration that comes immediately after this comment
|
|
177
175
|
for (const classDecl of classDeclarations) {
|
|
178
176
|
const classRange = classDecl.range();
|
|
179
|
-
|
|
177
|
+
logger_1.Logger.debug(`Class range: line ${classRange.start.line} to ${classRange.end.line}`);
|
|
180
178
|
// Check if the class comes after the comment
|
|
181
179
|
if (classRange.start.line > commentRange.end.line) {
|
|
182
180
|
const className = this.extractClassName(classDecl);
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
logger_1.Logger.debug(`Attempting to extract class name from class at line ${classRange.start.line}`);
|
|
182
|
+
logger_1.Logger.debug(`Extracted class name: ${className}`);
|
|
185
183
|
if (className) {
|
|
186
|
-
|
|
184
|
+
logger_1.Logger.debug(`Found JSDoc scope annotation: ${className} -> ${scope}`);
|
|
187
185
|
classScopes.set(className, scope);
|
|
188
186
|
break; // Take the first class after this comment
|
|
189
187
|
}
|
|
190
188
|
else {
|
|
191
|
-
|
|
189
|
+
logger_1.Logger.debug(`Failed to extract class name from class declaration`);
|
|
192
190
|
}
|
|
193
191
|
}
|
|
194
192
|
}
|
|
@@ -197,9 +195,9 @@ class ASTParser {
|
|
|
197
195
|
}
|
|
198
196
|
}
|
|
199
197
|
catch (error) {
|
|
200
|
-
|
|
198
|
+
logger_1.Logger.warn('Warning: Could not extract JSDoc comments:', { error });
|
|
201
199
|
}
|
|
202
|
-
|
|
200
|
+
logger_1.Logger.debug(`Final classScopes map:`, { classScopes });
|
|
203
201
|
return classScopes;
|
|
204
202
|
}
|
|
205
203
|
extractScopeFromJSDoc(className, jsDocScopes) {
|
|
@@ -214,21 +212,21 @@ class ASTParser {
|
|
|
214
212
|
kind: 'import_statement'
|
|
215
213
|
}
|
|
216
214
|
});
|
|
217
|
-
|
|
215
|
+
logger_1.Logger.debug(`Found ${allImports.length} total import statements`);
|
|
218
216
|
for (const importNode of allImports) {
|
|
219
217
|
const importText = importNode.text();
|
|
220
|
-
|
|
218
|
+
logger_1.Logger.debug(`Import statement: ${importText}`);
|
|
221
219
|
// Manual regex parsing - handles variable whitespace
|
|
222
220
|
const aliasMatch = importText.match(/import\s*{\s*([\w]+)\s+as\s+([\w]+)\s*}\s+from/);
|
|
223
221
|
if (aliasMatch) {
|
|
224
222
|
const [, original, alias] = aliasMatch;
|
|
225
223
|
typeAliases.set(alias.trim(), original.trim());
|
|
226
|
-
|
|
224
|
+
logger_1.Logger.debug(`Manual regex found type alias: ${alias.trim()} -> ${original.trim()}`);
|
|
227
225
|
}
|
|
228
226
|
}
|
|
229
227
|
}
|
|
230
228
|
catch (error) {
|
|
231
|
-
|
|
229
|
+
logger_1.Logger.warn('Warning: Could not extract type aliases:', { error });
|
|
232
230
|
}
|
|
233
231
|
return typeAliases;
|
|
234
232
|
}
|
|
@@ -241,10 +239,10 @@ class ASTParser {
|
|
|
241
239
|
kind: 'import_statement'
|
|
242
240
|
}
|
|
243
241
|
});
|
|
244
|
-
|
|
242
|
+
logger_1.Logger.debug(`Found ${allImports.length} import statements for mapping`);
|
|
245
243
|
for (const importNode of allImports) {
|
|
246
244
|
const importText = importNode.text();
|
|
247
|
-
|
|
245
|
+
logger_1.Logger.debug(`Processing import: ${importText}`);
|
|
248
246
|
// Extract import path
|
|
249
247
|
const pathMatch = importText.match(/from\s+['"]([^'"]+)['"]/);
|
|
250
248
|
if (!pathMatch)
|
|
@@ -262,11 +260,11 @@ class ASTParser {
|
|
|
262
260
|
if (aliasMatch) {
|
|
263
261
|
const [, original, alias] = aliasMatch;
|
|
264
262
|
importMappings.set(alias.trim(), importPath);
|
|
265
|
-
|
|
263
|
+
logger_1.Logger.debug(`Mapped alias ${alias.trim()} -> ${importPath}`);
|
|
266
264
|
}
|
|
267
265
|
else {
|
|
268
266
|
importMappings.set(trimmed, importPath);
|
|
269
|
-
|
|
267
|
+
logger_1.Logger.debug(`Mapped named import ${trimmed} -> ${importPath}`);
|
|
270
268
|
}
|
|
271
269
|
}
|
|
272
270
|
}
|
|
@@ -275,14 +273,14 @@ class ASTParser {
|
|
|
275
273
|
if (defaultImportMatch && !namedImportsMatch) {
|
|
276
274
|
const defaultImport = defaultImportMatch[1];
|
|
277
275
|
importMappings.set(defaultImport, importPath);
|
|
278
|
-
|
|
276
|
+
logger_1.Logger.debug(`Mapped default import ${defaultImport} -> ${importPath}`);
|
|
279
277
|
}
|
|
280
278
|
}
|
|
281
279
|
}
|
|
282
280
|
catch (error) {
|
|
283
|
-
|
|
281
|
+
logger_1.Logger.warn('Warning: Could not extract import mappings:', { error });
|
|
284
282
|
}
|
|
285
|
-
|
|
283
|
+
logger_1.Logger.debug(`Final import mappings:`, { importMappings });
|
|
286
284
|
return importMappings;
|
|
287
285
|
}
|
|
288
286
|
extractInterfaces(root) {
|
|
@@ -294,10 +292,10 @@ class ASTParser {
|
|
|
294
292
|
kind: 'interface_declaration'
|
|
295
293
|
}
|
|
296
294
|
});
|
|
297
|
-
|
|
295
|
+
logger_1.Logger.debug(`Found ${interfaceNodes.length} interface declarations`);
|
|
298
296
|
for (const interfaceNode of interfaceNodes) {
|
|
299
297
|
const interfaceText = interfaceNode.text();
|
|
300
|
-
|
|
298
|
+
logger_1.Logger.debug(`Interface text: ${interfaceText}`);
|
|
301
299
|
// Extract interface name using regex
|
|
302
300
|
const interfaceMatch = interfaceText.match(/interface\s+([A-Za-z_][A-Za-z0-9_]*)/);
|
|
303
301
|
if (interfaceMatch) {
|
|
@@ -311,18 +309,18 @@ class ASTParser {
|
|
|
311
309
|
// Consider interface valid if it has at least one method
|
|
312
310
|
if (methodNodes.length > 0) {
|
|
313
311
|
interfaces.push(interfaceName);
|
|
314
|
-
|
|
312
|
+
logger_1.Logger.debug(`Found valid interface: ${interfaceName} with ${methodNodes.length} methods `);
|
|
315
313
|
}
|
|
316
314
|
else {
|
|
317
|
-
|
|
315
|
+
logger_1.Logger.debug(`Skipping empty interface: ${interfaceName}`);
|
|
318
316
|
}
|
|
319
317
|
}
|
|
320
318
|
}
|
|
321
319
|
}
|
|
322
320
|
catch (error) {
|
|
323
|
-
|
|
321
|
+
logger_1.Logger.warn('Warning: Could not extract interfaces:', { error });
|
|
324
322
|
}
|
|
325
|
-
|
|
323
|
+
logger_1.Logger.debug(`Final interfaces:`, { interfaces });
|
|
326
324
|
return interfaces;
|
|
327
325
|
}
|
|
328
326
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwD,MAAM,UAAU,CAAC;AAM3F,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/class-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwD,MAAM,UAAU,CAAC;AAM3F,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAMlD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAmDvD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAWpI,kBAAkB;IAoKhC,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,mBAAmB;IAuC3B,OAAO,CAAC,kBAAkB;CAM3B"}
|