@stackguide/mcp-server 3.1.0 → 3.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.
- package/dist/config/types.d.ts +1 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/services/codeAnalyzer.d.ts +5 -1
- package/dist/services/codeAnalyzer.d.ts.map +1 -1
- package/dist/services/codeAnalyzer.js +39 -2
- package/dist/services/codeAnalyzer.js.map +1 -1
- package/dist/services/parsers/baseParser.d.ts +44 -0
- package/dist/services/parsers/baseParser.d.ts.map +1 -0
- package/dist/services/parsers/baseParser.js +177 -0
- package/dist/services/parsers/baseParser.js.map +1 -0
- package/dist/services/parsers/goParser.d.ts +28 -0
- package/dist/services/parsers/goParser.d.ts.map +1 -0
- package/dist/services/parsers/goParser.js +590 -0
- package/dist/services/parsers/goParser.js.map +1 -0
- package/dist/services/parsers/index.d.ts +62 -0
- package/dist/services/parsers/index.d.ts.map +1 -0
- package/dist/services/parsers/index.js +121 -0
- package/dist/services/parsers/index.js.map +1 -0
- package/dist/services/parsers/pythonParser.d.ts +28 -0
- package/dist/services/parsers/pythonParser.d.ts.map +1 -0
- package/dist/services/parsers/pythonParser.js +663 -0
- package/dist/services/parsers/pythonParser.js.map +1 -0
- package/dist/services/parsers/rustParser.d.ts +28 -0
- package/dist/services/parsers/rustParser.d.ts.map +1 -0
- package/dist/services/parsers/rustParser.js +654 -0
- package/dist/services/parsers/rustParser.js.map +1 -0
- package/dist/services/parsers/types.d.ts +241 -0
- package/dist/services/parsers/types.d.ts.map +1 -0
- package/dist/services/parsers/types.js +47 -0
- package/dist/services/parsers/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Parser Types
|
|
3
|
+
* Type definitions for the multi-language parsing system
|
|
4
|
+
* @version 3.2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { CodeIssue } from '../../config/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Supported programming languages
|
|
9
|
+
*/
|
|
10
|
+
export type SupportedLanguage = 'typescript' | 'javascript' | 'python' | 'go' | 'rust' | 'ruby' | 'php' | 'java' | 'csharp' | 'unknown';
|
|
11
|
+
/**
|
|
12
|
+
* Language-specific rule for semantic analysis
|
|
13
|
+
*/
|
|
14
|
+
export interface LanguageRule {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
language: SupportedLanguage;
|
|
19
|
+
severity: 'error' | 'warning' | 'info';
|
|
20
|
+
category: string;
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
priority: number;
|
|
23
|
+
/**
|
|
24
|
+
* Check function that analyzes parsed code
|
|
25
|
+
*/
|
|
26
|
+
check: (context: ParseContext) => ParseIssue | null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Context passed to language-specific rules
|
|
30
|
+
*/
|
|
31
|
+
export interface ParseContext {
|
|
32
|
+
/** Original source code */
|
|
33
|
+
code: string;
|
|
34
|
+
/** File path */
|
|
35
|
+
filePath: string;
|
|
36
|
+
/** Detected language */
|
|
37
|
+
language: SupportedLanguage;
|
|
38
|
+
/** Parsed symbols/tokens */
|
|
39
|
+
symbols: ParsedSymbol[];
|
|
40
|
+
/** Imports/dependencies found */
|
|
41
|
+
imports: ImportInfo[];
|
|
42
|
+
/** Functions/methods found */
|
|
43
|
+
functions: FunctionInfo[];
|
|
44
|
+
/** Classes/structs found */
|
|
45
|
+
classes: ClassInfo[];
|
|
46
|
+
/** Variables/constants found */
|
|
47
|
+
variables: VariableInfo[];
|
|
48
|
+
/** Comments found */
|
|
49
|
+
comments: CommentInfo[];
|
|
50
|
+
/** Get line content by number (1-indexed) */
|
|
51
|
+
getLine: (lineNumber: number) => string;
|
|
52
|
+
/** Get lines in range */
|
|
53
|
+
getLines: (start: number, end: number) => string[];
|
|
54
|
+
/** Check if code contains pattern */
|
|
55
|
+
containsPattern: (pattern: RegExp) => boolean;
|
|
56
|
+
/** Find all matches of pattern */
|
|
57
|
+
findPatternMatches: (pattern: RegExp) => PatternMatch[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Result from a language rule check
|
|
61
|
+
*/
|
|
62
|
+
export interface ParseIssue {
|
|
63
|
+
hasIssue: boolean;
|
|
64
|
+
message: string;
|
|
65
|
+
line?: number;
|
|
66
|
+
column?: number;
|
|
67
|
+
endLine?: number;
|
|
68
|
+
endColumn?: number;
|
|
69
|
+
details?: string;
|
|
70
|
+
suggestion?: string;
|
|
71
|
+
code?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Generic parsed symbol
|
|
75
|
+
*/
|
|
76
|
+
export interface ParsedSymbol {
|
|
77
|
+
type: 'function' | 'class' | 'variable' | 'import' | 'export' | 'decorator' | 'annotation' | 'macro' | 'trait' | 'interface' | 'enum' | 'struct' | 'module' | 'other';
|
|
78
|
+
name: string;
|
|
79
|
+
line: number;
|
|
80
|
+
column: number;
|
|
81
|
+
endLine?: number;
|
|
82
|
+
endColumn?: number;
|
|
83
|
+
modifiers?: string[];
|
|
84
|
+
metadata?: Record<string, unknown>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Import/dependency information
|
|
88
|
+
*/
|
|
89
|
+
export interface ImportInfo {
|
|
90
|
+
module: string;
|
|
91
|
+
items: string[];
|
|
92
|
+
alias?: string;
|
|
93
|
+
line: number;
|
|
94
|
+
isDefault?: boolean;
|
|
95
|
+
isNamespace?: boolean;
|
|
96
|
+
isRelative?: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Function/method information
|
|
100
|
+
*/
|
|
101
|
+
export interface FunctionInfo {
|
|
102
|
+
name: string;
|
|
103
|
+
line: number;
|
|
104
|
+
endLine?: number;
|
|
105
|
+
parameters: ParameterInfo[];
|
|
106
|
+
returnType?: string;
|
|
107
|
+
isAsync?: boolean;
|
|
108
|
+
isGenerator?: boolean;
|
|
109
|
+
isExported?: boolean;
|
|
110
|
+
isPublic?: boolean;
|
|
111
|
+
decorators?: string[];
|
|
112
|
+
annotations?: string[];
|
|
113
|
+
docstring?: string;
|
|
114
|
+
complexity?: number;
|
|
115
|
+
bodyLines?: number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Parameter information
|
|
119
|
+
*/
|
|
120
|
+
export interface ParameterInfo {
|
|
121
|
+
name: string;
|
|
122
|
+
type?: string;
|
|
123
|
+
defaultValue?: string;
|
|
124
|
+
isOptional?: boolean;
|
|
125
|
+
isRest?: boolean;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Class/struct information
|
|
129
|
+
*/
|
|
130
|
+
export interface ClassInfo {
|
|
131
|
+
name: string;
|
|
132
|
+
line: number;
|
|
133
|
+
endLine?: number;
|
|
134
|
+
baseClasses?: string[];
|
|
135
|
+
interfaces?: string[];
|
|
136
|
+
traits?: string[];
|
|
137
|
+
members: MemberInfo[];
|
|
138
|
+
isExported?: boolean;
|
|
139
|
+
isAbstract?: boolean;
|
|
140
|
+
decorators?: string[];
|
|
141
|
+
annotations?: string[];
|
|
142
|
+
docstring?: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Class/struct member information
|
|
146
|
+
*/
|
|
147
|
+
export interface MemberInfo {
|
|
148
|
+
name: string;
|
|
149
|
+
type: 'field' | 'method' | 'property' | 'constructor' | 'static';
|
|
150
|
+
visibility?: 'public' | 'private' | 'protected' | 'internal';
|
|
151
|
+
dataType?: string;
|
|
152
|
+
line: number;
|
|
153
|
+
isStatic?: boolean;
|
|
154
|
+
isReadonly?: boolean;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Variable/constant information
|
|
158
|
+
*/
|
|
159
|
+
export interface VariableInfo {
|
|
160
|
+
name: string;
|
|
161
|
+
line: number;
|
|
162
|
+
type?: string;
|
|
163
|
+
isConst?: boolean;
|
|
164
|
+
isExported?: boolean;
|
|
165
|
+
scope?: 'global' | 'module' | 'function' | 'block';
|
|
166
|
+
value?: string;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Comment information
|
|
170
|
+
*/
|
|
171
|
+
export interface CommentInfo {
|
|
172
|
+
text: string;
|
|
173
|
+
line: number;
|
|
174
|
+
endLine?: number;
|
|
175
|
+
type: 'line' | 'block' | 'doc';
|
|
176
|
+
isTodo?: boolean;
|
|
177
|
+
isFixme?: boolean;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Pattern match result
|
|
181
|
+
*/
|
|
182
|
+
export interface PatternMatch {
|
|
183
|
+
match: string;
|
|
184
|
+
line: number;
|
|
185
|
+
column: number;
|
|
186
|
+
groups?: Record<string, string>;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Parse result from a language parser
|
|
190
|
+
*/
|
|
191
|
+
export interface ParseResult {
|
|
192
|
+
language: SupportedLanguage;
|
|
193
|
+
filePath: string;
|
|
194
|
+
symbols: ParsedSymbol[];
|
|
195
|
+
imports: ImportInfo[];
|
|
196
|
+
functions: FunctionInfo[];
|
|
197
|
+
classes: ClassInfo[];
|
|
198
|
+
variables: VariableInfo[];
|
|
199
|
+
comments: CommentInfo[];
|
|
200
|
+
errors: ParseError[];
|
|
201
|
+
parseTime: number;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Parse error
|
|
205
|
+
*/
|
|
206
|
+
export interface ParseError {
|
|
207
|
+
message: string;
|
|
208
|
+
line?: number;
|
|
209
|
+
column?: number;
|
|
210
|
+
severity: 'error' | 'warning';
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Language parser interface
|
|
214
|
+
*/
|
|
215
|
+
export interface LanguageParser {
|
|
216
|
+
/** Language this parser handles */
|
|
217
|
+
readonly language: SupportedLanguage;
|
|
218
|
+
/** File extensions this parser handles */
|
|
219
|
+
readonly extensions: string[];
|
|
220
|
+
/** Parse source code */
|
|
221
|
+
parse(code: string, filePath: string): ParseResult;
|
|
222
|
+
/** Get language-specific rules */
|
|
223
|
+
getRules(): LanguageRule[];
|
|
224
|
+
/** Analyze code using language-specific rules */
|
|
225
|
+
analyze(code: string, filePath: string): CodeIssue[];
|
|
226
|
+
/** Check if parser can handle this file */
|
|
227
|
+
canHandle(filePath: string): boolean;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Parser factory function type
|
|
231
|
+
*/
|
|
232
|
+
export type ParserFactory = () => LanguageParser;
|
|
233
|
+
/**
|
|
234
|
+
* File extension to language mapping
|
|
235
|
+
*/
|
|
236
|
+
export declare const EXTENSION_LANGUAGE_MAP: Record<string, SupportedLanguage>;
|
|
237
|
+
/**
|
|
238
|
+
* Get language from file path
|
|
239
|
+
*/
|
|
240
|
+
export declare function getLanguageFromPath(filePath: string): SupportedLanguage;
|
|
241
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/parsers/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,GACN,QAAQ,GACR,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,UAAU,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,4BAA4B;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,iCAAiC;IACjC,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB,8BAA8B;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;IAE1B,4BAA4B;IAC5B,OAAO,EAAE,SAAS,EAAE,CAAC;IAErB,gCAAgC;IAChC,SAAS,EAAE,YAAY,EAAE,CAAC;IAE1B,qBAAqB;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,6CAA6C;IAC7C,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAExC,yBAAyB;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAEnD,qCAAqC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAE9C,kCAAkC;IAClC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtK,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IACjE,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAE9B,wBAAwB;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;IAEnD,kCAAkC;IAClC,QAAQ,IAAI,YAAY,EAAE,CAAC;IAE3B,iDAAiD;IACjD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAErD,2CAA2C;IAC3C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAsCpE,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAGvE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Parser Types
|
|
3
|
+
* Type definitions for the multi-language parsing system
|
|
4
|
+
* @version 3.2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* File extension to language mapping
|
|
8
|
+
*/
|
|
9
|
+
export const EXTENSION_LANGUAGE_MAP = {
|
|
10
|
+
// TypeScript
|
|
11
|
+
'.ts': 'typescript',
|
|
12
|
+
'.tsx': 'typescript',
|
|
13
|
+
'.mts': 'typescript',
|
|
14
|
+
'.cts': 'typescript',
|
|
15
|
+
// JavaScript
|
|
16
|
+
'.js': 'javascript',
|
|
17
|
+
'.jsx': 'javascript',
|
|
18
|
+
'.mjs': 'javascript',
|
|
19
|
+
'.cjs': 'javascript',
|
|
20
|
+
// Python
|
|
21
|
+
'.py': 'python',
|
|
22
|
+
'.pyi': 'python',
|
|
23
|
+
'.pyw': 'python',
|
|
24
|
+
// Go
|
|
25
|
+
'.go': 'go',
|
|
26
|
+
// Rust
|
|
27
|
+
'.rs': 'rust',
|
|
28
|
+
// Ruby
|
|
29
|
+
'.rb': 'ruby',
|
|
30
|
+
'.rake': 'ruby',
|
|
31
|
+
'.gemspec': 'ruby',
|
|
32
|
+
// PHP
|
|
33
|
+
'.php': 'php',
|
|
34
|
+
'.phtml': 'php',
|
|
35
|
+
// Java
|
|
36
|
+
'.java': 'java',
|
|
37
|
+
// C#
|
|
38
|
+
'.cs': 'csharp',
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Get language from file path
|
|
42
|
+
*/
|
|
43
|
+
export function getLanguageFromPath(filePath) {
|
|
44
|
+
const ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase();
|
|
45
|
+
return EXTENSION_LANGUAGE_MAP[ext] || 'unknown';
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/parsers/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmRH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsC;IACvE,aAAa;IACb,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IAEpB,aAAa;IACb,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IAEpB,SAAS;IACT,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,KAAK;IACL,KAAK,EAAE,IAAI;IAEX,OAAO;IACP,KAAK,EAAE,MAAM;IAEb,OAAO;IACP,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;IAElB,MAAM;IACN,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IAEf,OAAO;IACP,OAAO,EAAE,MAAM;IAEf,KAAK;IACL,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AAClD,CAAC"}
|
package/package.json
CHANGED