@principal-ai/codebase-composition 0.2.10 → 0.2.11
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/dist/adapters/NodeFileSystemAdapter.d.ts +28 -0
- package/dist/adapters/NodeFileSystemAdapter.d.ts.map +1 -0
- package/dist/adapters/NodeFileSystemAdapter.js +128 -0
- package/dist/adapters/NodeFileSystemAdapter.js.map +1 -0
- package/dist/helpers/QualityMetricsCalculator.d.ts +46 -0
- package/dist/helpers/QualityMetricsCalculator.d.ts.map +1 -0
- package/dist/helpers/QualityMetricsCalculator.js +163 -0
- package/dist/helpers/QualityMetricsCalculator.js.map +1 -0
- package/dist/helpers/packageLayerHelpers.d.ts +30 -0
- package/dist/helpers/packageLayerHelpers.d.ts.map +1 -0
- package/dist/helpers/packageLayerHelpers.js +88 -0
- package/dist/helpers/packageLayerHelpers.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/DependencyLayerModule.d.ts +44 -0
- package/dist/modules/DependencyLayerModule.d.ts.map +1 -0
- package/dist/modules/DependencyLayerModule.js +282 -0
- package/dist/modules/DependencyLayerModule.js.map +1 -0
- package/dist/modules/FileSystemModule.d.ts +30 -0
- package/dist/modules/FileSystemModule.d.ts.map +1 -0
- package/dist/modules/FileSystemModule.js +43 -0
- package/dist/modules/FileSystemModule.js.map +1 -0
- package/dist/modules/FileTypeLayerModule.d.ts +34 -0
- package/dist/modules/FileTypeLayerModule.d.ts.map +1 -0
- package/dist/modules/FileTypeLayerModule.js +165 -0
- package/dist/modules/FileTypeLayerModule.js.map +1 -0
- package/dist/modules/FrameworkLayerModule.d.ts +22 -0
- package/dist/modules/FrameworkLayerModule.d.ts.map +1 -0
- package/dist/modules/FrameworkLayerModule.js +384 -0
- package/dist/modules/FrameworkLayerModule.js.map +1 -0
- package/dist/modules/PackageLayerModule.d.ts +23 -0
- package/dist/modules/PackageLayerModule.d.ts.map +1 -0
- package/dist/modules/PackageLayerModule.js +866 -0
- package/dist/modules/PackageLayerModule.js.map +1 -0
- package/dist/modules/TypeExtractionModule.d.ts +37 -0
- package/dist/modules/TypeExtractionModule.d.ts.map +1 -0
- package/dist/modules/TypeExtractionModule.js +141 -0
- package/dist/modules/TypeExtractionModule.js.map +1 -0
- package/dist/modules/VersionControlLayerModule.d.ts +10 -0
- package/dist/modules/VersionControlLayerModule.d.ts.map +1 -0
- package/dist/modules/VersionControlLayerModule.js +26 -0
- package/dist/modules/VersionControlLayerModule.js.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/index.d.ts +4 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/index.d.ts.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/index.js +3 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/index.js.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/category.d.ts +15 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/category.d.ts.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/category.js +2 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/category.js.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/product.d.ts +34 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/product.d.ts.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/product.js +19 -0
- package/dist/modules/__fixtures__/typescript-packages/complex-types/src/models/product.js.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/simple-types/index.d.ts +39 -0
- package/dist/modules/__fixtures__/typescript-packages/simple-types/index.d.ts.map +1 -0
- package/dist/modules/__fixtures__/typescript-packages/simple-types/index.js +36 -0
- package/dist/modules/__fixtures__/typescript-packages/simple-types/index.js.map +1 -0
- package/dist/modules/extractors/TypeScriptExtractor.d.ts +18 -0
- package/dist/modules/extractors/TypeScriptExtractor.d.ts.map +1 -0
- package/dist/modules/extractors/TypeScriptExtractor.js +322 -0
- package/dist/modules/extractors/TypeScriptExtractor.js.map +1 -0
- package/dist/modules/index.d.ts +13 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +10 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/providers/GitVersionControlProvider.d.ts +108 -0
- package/dist/providers/GitVersionControlProvider.d.ts.map +1 -0
- package/dist/providers/GitVersionControlProvider.js +375 -0
- package/dist/providers/GitVersionControlProvider.js.map +1 -0
- package/dist/providers/PackageManagerApiProvider.d.ts +78 -0
- package/dist/providers/PackageManagerApiProvider.d.ts.map +1 -0
- package/dist/providers/PackageManagerApiProvider.js +10 -0
- package/dist/providers/PackageManagerApiProvider.js.map +1 -0
- package/dist/providers/index.d.ts +4 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/services/FilesystemService.d.ts +59 -0
- package/dist/services/FilesystemService.d.ts.map +1 -0
- package/dist/services/FilesystemService.js +394 -0
- package/dist/services/FilesystemService.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -0
- package/dist/types/file-system.d.ts +6 -0
- package/dist/types/file-system.d.ts.map +1 -0
- package/dist/types/file-system.js +6 -0
- package/dist/types/file-system.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/layer-types.d.ts +212 -0
- package/dist/types/layer-types.d.ts.map +1 -0
- package/dist/types/layer-types.js +6 -0
- package/dist/types/layer-types.js.map +1 -0
- package/dist/types/version-control-layer.d.ts +53 -0
- package/dist/types/version-control-layer.d.ts.map +1 -0
- package/dist/types/version-control-layer.js +2 -0
- package/dist/types/version-control-layer.js.map +1 -0
- package/dist/types/workspace-boundaries.d.ts +17 -0
- package/dist/types/workspace-boundaries.d.ts.map +1 -0
- package/dist/types/workspace-boundaries.js +6 -0
- package/dist/types/workspace-boundaries.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as ts from 'typescript';
|
|
4
|
+
export class TypeScriptExtractor {
|
|
5
|
+
name = 'TypeScript';
|
|
6
|
+
canHandle(packagePath, fileExtensions) {
|
|
7
|
+
// Check if package contains TypeScript files
|
|
8
|
+
return fileExtensions.some(ext => ['.ts', '.tsx'].includes(ext));
|
|
9
|
+
}
|
|
10
|
+
async extractTypes(packagePath, options = {}) {
|
|
11
|
+
console.log(`[TypeScriptExtractor] Extracting types from package path: ${packagePath}`);
|
|
12
|
+
// Verify package path exists
|
|
13
|
+
if (!fs.existsSync(packagePath)) {
|
|
14
|
+
throw new Error(`Package path does not exist: ${packagePath}`);
|
|
15
|
+
}
|
|
16
|
+
// Read package.json to get package name
|
|
17
|
+
const packageJsonPath = path.join(packagePath, 'package.json');
|
|
18
|
+
let packageName = path.basename(packagePath);
|
|
19
|
+
try {
|
|
20
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
21
|
+
packageName = packageJson.name || packageName;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.log(`[TypeScriptExtractor] Could not read package.json: ${error}`);
|
|
25
|
+
}
|
|
26
|
+
// Find all TypeScript files in the package
|
|
27
|
+
const tsFiles = this.findTypeScriptFiles(packagePath, options);
|
|
28
|
+
if (tsFiles.length === 0) {
|
|
29
|
+
return {
|
|
30
|
+
packagePath,
|
|
31
|
+
packageName,
|
|
32
|
+
types: [],
|
|
33
|
+
exports: { named: [] },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// Create a TypeScript program
|
|
37
|
+
const compilerOptions = {
|
|
38
|
+
target: ts.ScriptTarget.ES2020,
|
|
39
|
+
module: ts.ModuleKind.CommonJS,
|
|
40
|
+
lib: ['es2020'],
|
|
41
|
+
declaration: true,
|
|
42
|
+
emitDeclarationOnly: true,
|
|
43
|
+
skipLibCheck: true,
|
|
44
|
+
allowJs: false,
|
|
45
|
+
resolveJsonModule: true,
|
|
46
|
+
esModuleInterop: true,
|
|
47
|
+
strict: true,
|
|
48
|
+
};
|
|
49
|
+
const program = ts.createProgram(tsFiles, compilerOptions);
|
|
50
|
+
const checker = program.getTypeChecker();
|
|
51
|
+
const extractedTypes = [];
|
|
52
|
+
const exportedNames = new Set();
|
|
53
|
+
const defaultExport = {};
|
|
54
|
+
// Process each source file
|
|
55
|
+
for (const sourceFile of program.getSourceFiles()) {
|
|
56
|
+
if (sourceFile.isDeclarationFile)
|
|
57
|
+
continue;
|
|
58
|
+
if (!sourceFile.fileName.startsWith(packagePath))
|
|
59
|
+
continue;
|
|
60
|
+
// Visit each node in the source file
|
|
61
|
+
ts.forEachChild(sourceFile, node => {
|
|
62
|
+
this.visitNode(node, sourceFile, checker, extractedTypes, exportedNames, defaultExport, packagePath);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Sort types by kind and name
|
|
66
|
+
extractedTypes.sort((a, b) => {
|
|
67
|
+
const kindOrder = ['interface', 'type', 'class', 'enum', 'function'];
|
|
68
|
+
const aOrder = kindOrder.indexOf(a.kind);
|
|
69
|
+
const bOrder = kindOrder.indexOf(b.kind);
|
|
70
|
+
if (aOrder !== bOrder)
|
|
71
|
+
return aOrder - bOrder;
|
|
72
|
+
return a.name.localeCompare(b.name);
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
packagePath,
|
|
76
|
+
packageName,
|
|
77
|
+
types: extractedTypes,
|
|
78
|
+
exports: {
|
|
79
|
+
named: Array.from(exportedNames),
|
|
80
|
+
default: defaultExport.value,
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async generateDefinitionFile(packageTypes) {
|
|
85
|
+
const lines = [];
|
|
86
|
+
// Add header
|
|
87
|
+
lines.push(`// Type definitions for ${packageTypes.packageName}`);
|
|
88
|
+
lines.push(`// Generated from: ${packageTypes.packagePath}`);
|
|
89
|
+
lines.push(`// Generated on: ${new Date().toISOString()}`);
|
|
90
|
+
lines.push('');
|
|
91
|
+
// Group types by kind
|
|
92
|
+
const typesByKind = packageTypes.types.reduce((acc, type) => {
|
|
93
|
+
if (!acc[type.kind])
|
|
94
|
+
acc[type.kind] = [];
|
|
95
|
+
acc[type.kind].push(type);
|
|
96
|
+
return acc;
|
|
97
|
+
}, {});
|
|
98
|
+
// Add types in order
|
|
99
|
+
const kinds = ['interface', 'type', 'class', 'enum', 'function'];
|
|
100
|
+
for (const kind of kinds) {
|
|
101
|
+
const types = typesByKind[kind];
|
|
102
|
+
if (!types || types.length === 0)
|
|
103
|
+
continue;
|
|
104
|
+
lines.push(`// ${kind.charAt(0).toUpperCase() + kind.slice(1)}s`);
|
|
105
|
+
lines.push('');
|
|
106
|
+
for (const type of types) {
|
|
107
|
+
if (type.jsDoc) {
|
|
108
|
+
lines.push(`/** ${type.jsDoc} */`);
|
|
109
|
+
}
|
|
110
|
+
if (type.isExported) {
|
|
111
|
+
// Remove existing 'export' keyword if present to avoid duplication
|
|
112
|
+
const cleanText = type.text.replace(/^export\s+/, '');
|
|
113
|
+
lines.push(`export ${cleanText}`);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
lines.push(type.text);
|
|
117
|
+
}
|
|
118
|
+
lines.push('');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return lines.join('\n');
|
|
122
|
+
}
|
|
123
|
+
findTypeScriptFiles(dir, options = {}) {
|
|
124
|
+
const files = [];
|
|
125
|
+
const walk = (currentDir) => {
|
|
126
|
+
try {
|
|
127
|
+
const entries = fs.readdirSync(currentDir, { withFileTypes: true });
|
|
128
|
+
for (const entry of entries) {
|
|
129
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
130
|
+
if (entry.isDirectory()) {
|
|
131
|
+
// Skip node_modules and hidden directories
|
|
132
|
+
if (entry.name !== 'node_modules' && !entry.name.startsWith('.')) {
|
|
133
|
+
walk(fullPath);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (entry.isFile()) {
|
|
137
|
+
if (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx')) {
|
|
138
|
+
// Skip declaration files
|
|
139
|
+
if (entry.name.endsWith('.d.ts')) {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
// Skip test files unless explicitly included
|
|
143
|
+
if (!options.includeTests) {
|
|
144
|
+
if (entry.name.includes('.test.') || entry.name.includes('.spec.')) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
files.push(fullPath);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
console.error(`[TypeScriptExtractor] Error reading directory ${currentDir}:`, error);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
walk(dir);
|
|
158
|
+
return files;
|
|
159
|
+
}
|
|
160
|
+
visitNode(node, sourceFile, checker, extractedTypes, exportedNames, defaultExport, packagePath) {
|
|
161
|
+
const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
|
|
162
|
+
const isExported = modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword) || false;
|
|
163
|
+
const isDefaultExport = modifiers?.some(m => m.kind === ts.SyntaxKind.DefaultKeyword) || false;
|
|
164
|
+
// Extract JSDoc comments
|
|
165
|
+
const jsDoc = this.getJSDocComment(node, sourceFile);
|
|
166
|
+
// Get relative file path from package root
|
|
167
|
+
const getRelativeFileName = () => {
|
|
168
|
+
const relativePath = path.relative(packagePath, sourceFile.fileName);
|
|
169
|
+
return relativePath.startsWith('.') ? relativePath : `./${relativePath}`;
|
|
170
|
+
};
|
|
171
|
+
if (ts.isInterfaceDeclaration(node)) {
|
|
172
|
+
const name = node.name?.text || 'Anonymous';
|
|
173
|
+
const text = this.getNodeText(node, sourceFile);
|
|
174
|
+
// Only extract exported types
|
|
175
|
+
if (isExported) {
|
|
176
|
+
extractedTypes.push({
|
|
177
|
+
name,
|
|
178
|
+
kind: 'interface',
|
|
179
|
+
text,
|
|
180
|
+
fileName: getRelativeFileName(),
|
|
181
|
+
isExported,
|
|
182
|
+
jsDoc,
|
|
183
|
+
});
|
|
184
|
+
exportedNames.add(name);
|
|
185
|
+
}
|
|
186
|
+
if (isDefaultExport) {
|
|
187
|
+
defaultExport.value = name;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else if (ts.isTypeAliasDeclaration(node)) {
|
|
191
|
+
const name = node.name?.text || 'Anonymous';
|
|
192
|
+
const text = this.getNodeText(node, sourceFile);
|
|
193
|
+
if (isExported) {
|
|
194
|
+
extractedTypes.push({
|
|
195
|
+
name,
|
|
196
|
+
kind: 'type',
|
|
197
|
+
text,
|
|
198
|
+
fileName: getRelativeFileName(),
|
|
199
|
+
isExported,
|
|
200
|
+
jsDoc,
|
|
201
|
+
});
|
|
202
|
+
exportedNames.add(name);
|
|
203
|
+
}
|
|
204
|
+
if (isDefaultExport) {
|
|
205
|
+
defaultExport.value = name;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else if (ts.isClassDeclaration(node)) {
|
|
209
|
+
const name = node.name?.text || 'Anonymous';
|
|
210
|
+
const text = this.getClassSignature(node, sourceFile, checker);
|
|
211
|
+
if (isExported) {
|
|
212
|
+
extractedTypes.push({
|
|
213
|
+
name,
|
|
214
|
+
kind: 'class',
|
|
215
|
+
text,
|
|
216
|
+
fileName: getRelativeFileName(),
|
|
217
|
+
isExported,
|
|
218
|
+
jsDoc,
|
|
219
|
+
});
|
|
220
|
+
exportedNames.add(name);
|
|
221
|
+
}
|
|
222
|
+
if (isDefaultExport) {
|
|
223
|
+
defaultExport.value = name;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else if (ts.isEnumDeclaration(node)) {
|
|
227
|
+
const name = node.name?.text || 'Anonymous';
|
|
228
|
+
const text = this.getNodeText(node, sourceFile);
|
|
229
|
+
if (isExported) {
|
|
230
|
+
extractedTypes.push({
|
|
231
|
+
name,
|
|
232
|
+
kind: 'enum',
|
|
233
|
+
text,
|
|
234
|
+
fileName: getRelativeFileName(),
|
|
235
|
+
isExported,
|
|
236
|
+
jsDoc,
|
|
237
|
+
});
|
|
238
|
+
exportedNames.add(name);
|
|
239
|
+
}
|
|
240
|
+
if (isDefaultExport) {
|
|
241
|
+
defaultExport.value = name;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
else if (ts.isFunctionDeclaration(node) && node.name) {
|
|
245
|
+
const name = node.name.text;
|
|
246
|
+
const text = this.getFunctionSignature(node, sourceFile, checker);
|
|
247
|
+
if (isExported) {
|
|
248
|
+
extractedTypes.push({
|
|
249
|
+
name,
|
|
250
|
+
kind: 'function',
|
|
251
|
+
text,
|
|
252
|
+
fileName: getRelativeFileName(),
|
|
253
|
+
isExported,
|
|
254
|
+
jsDoc,
|
|
255
|
+
});
|
|
256
|
+
exportedNames.add(name);
|
|
257
|
+
}
|
|
258
|
+
if (isDefaultExport) {
|
|
259
|
+
defaultExport.value = name;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// Handle export default statements separately
|
|
263
|
+
if (ts.isExportAssignment(node) && !node.isExportEquals) {
|
|
264
|
+
// This is an "export default" statement
|
|
265
|
+
if (ts.isIdentifier(node.expression)) {
|
|
266
|
+
defaultExport.value = node.expression.text;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Continue visiting child nodes
|
|
270
|
+
ts.forEachChild(node, child => {
|
|
271
|
+
this.visitNode(child, sourceFile, checker, extractedTypes, exportedNames, defaultExport, packagePath);
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
getNodeText(node, sourceFile) {
|
|
275
|
+
return node.getText(sourceFile);
|
|
276
|
+
}
|
|
277
|
+
getJSDocComment(node, _sourceFile) {
|
|
278
|
+
// Get the full JSDoc comments including the main comment and tags
|
|
279
|
+
const jsDocComments = ts.getJSDocCommentsAndTags(node);
|
|
280
|
+
if (jsDocComments.length === 0)
|
|
281
|
+
return undefined;
|
|
282
|
+
const comments = [];
|
|
283
|
+
jsDocComments.forEach(comment => {
|
|
284
|
+
if (ts.isJSDoc(comment)) {
|
|
285
|
+
// Get the main comment text
|
|
286
|
+
if (comment.comment) {
|
|
287
|
+
if (typeof comment.comment === 'string') {
|
|
288
|
+
comments.push(comment.comment);
|
|
289
|
+
}
|
|
290
|
+
else if (Array.isArray(comment.comment)) {
|
|
291
|
+
comments.push(comment.comment.map(c => c.text).join(''));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// Get text from tags (like @description)
|
|
295
|
+
comment.tags?.forEach(tag => {
|
|
296
|
+
if (tag.comment) {
|
|
297
|
+
if (typeof tag.comment === 'string') {
|
|
298
|
+
comments.push(tag.comment);
|
|
299
|
+
}
|
|
300
|
+
else if (Array.isArray(tag.comment)) {
|
|
301
|
+
comments.push(tag.comment.map(c => c.text).join(''));
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
return comments.length > 0 ? comments.join('\n') : undefined;
|
|
308
|
+
}
|
|
309
|
+
getClassSignature(node, sourceFile, _checker) {
|
|
310
|
+
// For now, return the full class declaration
|
|
311
|
+
// In the future, we could extract just the public API
|
|
312
|
+
return this.getNodeText(node, sourceFile);
|
|
313
|
+
}
|
|
314
|
+
getFunctionSignature(node, sourceFile, _checker) {
|
|
315
|
+
// Get just the function signature without the body
|
|
316
|
+
const signature = node.name?.text || 'anonymous';
|
|
317
|
+
const params = node.parameters.map(p => p.getText(sourceFile)).join(', ');
|
|
318
|
+
const returnType = node.type ? `: ${node.type.getText(sourceFile)}` : '';
|
|
319
|
+
return `function ${signature}(${params})${returnType}`;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=TypeScriptExtractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeScriptExtractor.js","sourceRoot":"","sources":["../../../src/modules/extractors/TypeScriptExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { FileTypeLayerModule } from './FileTypeLayerModule';
|
|
2
|
+
export type { FileTypeInfo } from './FileTypeLayerModule';
|
|
3
|
+
export { PackageLayerModule } from './PackageLayerModule';
|
|
4
|
+
export { VersionControlLayerFactory } from './VersionControlLayerModule';
|
|
5
|
+
export { DependencyLayerModule } from './DependencyLayerModule';
|
|
6
|
+
export { FrameworkLayerModule } from './FrameworkLayerModule';
|
|
7
|
+
export { FileSystemModule } from './FileSystemModule';
|
|
8
|
+
export type { FileSystemModuleConfig, FileSystemLoadResult } from './FileSystemModule';
|
|
9
|
+
export { TypeExtractionModule } from './TypeExtractionModule';
|
|
10
|
+
export type { TypeExtractionOptions } from './TypeExtractionModule';
|
|
11
|
+
export { TypeScriptExtractor } from './extractors/TypeScriptExtractor';
|
|
12
|
+
export type { TypeScriptExtractionOptions } from './extractors/TypeScriptExtractor';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Export layer modules
|
|
2
|
+
export { FileTypeLayerModule } from './FileTypeLayerModule.js';
|
|
3
|
+
export { PackageLayerModule } from './PackageLayerModule.js';
|
|
4
|
+
export { VersionControlLayerFactory } from './VersionControlLayerModule.js';
|
|
5
|
+
export { DependencyLayerModule } from './DependencyLayerModule.js';
|
|
6
|
+
export { FrameworkLayerModule } from './FrameworkLayerModule.js';
|
|
7
|
+
export { FileSystemModule } from './FileSystemModule.js';
|
|
8
|
+
export { TypeExtractionModule } from './TypeExtractionModule.js';
|
|
9
|
+
export { TypeScriptExtractor } from './extractors/TypeScriptExtractor.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { Ignore } from 'ignore';
|
|
2
|
+
import { VersionControlProvider, VersionControlLayer, VersionControlIgnorePattern } from '../types/version-control-layer';
|
|
3
|
+
export interface FileSystemAdapter {
|
|
4
|
+
readFile(path: string): Promise<{
|
|
5
|
+
content: string;
|
|
6
|
+
} | null>;
|
|
7
|
+
fileExists?(path: string): Promise<boolean>;
|
|
8
|
+
isDirectory?(path: string): Promise<boolean>;
|
|
9
|
+
readDirectory?(path: string): Promise<string[]>;
|
|
10
|
+
getFileStats?(path: string): Promise<{
|
|
11
|
+
size: number;
|
|
12
|
+
isDirectory: boolean;
|
|
13
|
+
lastModified: Date;
|
|
14
|
+
} | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Fast filtered file tree building - adapters must implement this efficiently
|
|
17
|
+
* for their environment (e.g., using fdir in Node.js, batch APIs for remote, etc.)
|
|
18
|
+
* @returns paths: Array of relative paths from directoryPath (directories end with '/')
|
|
19
|
+
* @returns stats: Optional map of path to file stats for performance
|
|
20
|
+
*/
|
|
21
|
+
buildFilteredFileTree(directoryPath: string, patterns?: string[], // Array of gitignore-style patterns to exclude
|
|
22
|
+
sourceDirectory?: string): Promise<{
|
|
23
|
+
paths: string[];
|
|
24
|
+
stats?: Map<string, {
|
|
25
|
+
size: number;
|
|
26
|
+
isDirectory: boolean;
|
|
27
|
+
lastModified: Date;
|
|
28
|
+
}>;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
export interface GitAdapter {
|
|
32
|
+
getCurrentBranch?(repoPath: string): Promise<string | null>;
|
|
33
|
+
getCurrentCommit?(repoPath: string): Promise<string | null>;
|
|
34
|
+
getRemotes?(repoPath: string): Promise<Array<{
|
|
35
|
+
name: string;
|
|
36
|
+
url: string;
|
|
37
|
+
type?: 'push' | 'fetch' | 'both';
|
|
38
|
+
}>>;
|
|
39
|
+
getStatus?(repoPath: string): Promise<{
|
|
40
|
+
modified: string[];
|
|
41
|
+
untracked: string[];
|
|
42
|
+
staged: string[];
|
|
43
|
+
}>;
|
|
44
|
+
detectRepository?(path: string): Promise<{
|
|
45
|
+
isGitRepository: boolean;
|
|
46
|
+
currentBranch?: string;
|
|
47
|
+
owner?: string;
|
|
48
|
+
repo?: string;
|
|
49
|
+
} | null>;
|
|
50
|
+
watchGitRepository?(path: string): Promise<boolean>;
|
|
51
|
+
stopWatchingGit?(): Promise<void>;
|
|
52
|
+
onGitStatusChange?(callback: (data: {
|
|
53
|
+
changedFiles: Array<{
|
|
54
|
+
path: string;
|
|
55
|
+
status: 'added' | 'modified' | 'deleted' | 'renamed';
|
|
56
|
+
lastModified?: Date;
|
|
57
|
+
}>;
|
|
58
|
+
}) => void): () => void;
|
|
59
|
+
}
|
|
60
|
+
export interface ShellAdapter {
|
|
61
|
+
openExternal(url: string): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Git implementation of VersionControlProvider for core library
|
|
65
|
+
* Handles .gitignore parsing and Git-specific operations
|
|
66
|
+
*/
|
|
67
|
+
export declare class GitVersionControlProvider implements VersionControlProvider {
|
|
68
|
+
private fileSystemAdapter;
|
|
69
|
+
private gitAdapter?;
|
|
70
|
+
constructor(fileSystemAdapter: FileSystemAdapter, gitAdapter?: GitAdapter | undefined);
|
|
71
|
+
detect(directoryPath: string): Promise<boolean>;
|
|
72
|
+
getRepositoryRoot(directoryPath: string): Promise<string | null>;
|
|
73
|
+
createLayer(repositoryRoot: string): Promise<VersionControlLayer>;
|
|
74
|
+
/**
|
|
75
|
+
* Extract all .gitignore patterns from the repository
|
|
76
|
+
*/
|
|
77
|
+
extractIgnorePatterns(repositoryRoot: string): Promise<VersionControlIgnorePattern[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Recursively find and parse .gitignore files
|
|
80
|
+
*/
|
|
81
|
+
private findAndParseGitignoreFiles;
|
|
82
|
+
/**
|
|
83
|
+
* Parse a .gitignore file and return patterns using the ignore library
|
|
84
|
+
*/
|
|
85
|
+
private parseGitignoreFile;
|
|
86
|
+
/**
|
|
87
|
+
* Create an ignore instance from patterns for efficient filtering
|
|
88
|
+
* This can be used by FilesystemService or other components
|
|
89
|
+
*/
|
|
90
|
+
createIgnoreFromPatterns(patterns: VersionControlIgnorePattern[]): Ignore | null;
|
|
91
|
+
/**
|
|
92
|
+
* Get current branch name
|
|
93
|
+
*/
|
|
94
|
+
getCurrentBranch(repositoryRoot: string): Promise<string | null>;
|
|
95
|
+
/**
|
|
96
|
+
* Get current commit SHA
|
|
97
|
+
*/
|
|
98
|
+
getCurrentRevision(repositoryRoot: string): Promise<string | null>;
|
|
99
|
+
/**
|
|
100
|
+
* Get remote repositories
|
|
101
|
+
*/
|
|
102
|
+
getRemotes(repositoryRoot: string): Promise<Array<{
|
|
103
|
+
name: string;
|
|
104
|
+
url: string;
|
|
105
|
+
type: 'push' | 'fetch' | 'both';
|
|
106
|
+
}>>;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=GitVersionControlProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitVersionControlProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GitVersionControlProvider.ts"],"names":[],"mappings":"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"}
|