@aiready/core 0.23.4 → 0.23.6
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/{chunk-NGHT7JOG.mjs → chunk-Q55AMEFV.mjs} +63 -0
- package/dist/{client-D-cn9ydj.d.mts → client-CKcjnPXt.d.mts} +79 -1
- package/dist/{client-D-cn9ydj.d.ts → client-CKcjnPXt.d.ts} +79 -1
- package/dist/client.d.mts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +66 -0
- package/dist/client.mjs +9 -1
- package/dist/index.d.mts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +159 -21
- package/dist/index.mjs +102 -22
- package/package.json +1 -1
- package/dist/__tests__/parser-factory.test.d.ts +0 -5
- package/dist/__tests__/parser-factory.test.d.ts.map +0 -1
- package/dist/__tests__/parser-factory.test.js +0 -70
- package/dist/__tests__/parser-factory.test.js.map +0 -1
- package/dist/__tests__/python-parser.test.d.ts +0 -5
- package/dist/__tests__/python-parser.test.d.ts.map +0 -1
- package/dist/__tests__/python-parser.test.js +0 -194
- package/dist/__tests__/python-parser.test.js.map +0 -1
- package/dist/__tests__/scoring.test.d.ts +0 -2
- package/dist/__tests__/scoring.test.d.ts.map +0 -1
- package/dist/__tests__/scoring.test.js +0 -197
- package/dist/__tests__/scoring.test.js.map +0 -1
- package/dist/chunk-3YI4IS3D.mjs +0 -601
- package/dist/chunk-5HIXDC3X.mjs +0 -716
- package/dist/chunk-5V3L53AE.mjs +0 -805
- package/dist/chunk-CKVKHN3G.mjs +0 -660
- package/dist/chunk-COHIBX3Q.mjs +0 -635
- package/dist/chunk-CWRCDSKZ.mjs +0 -417
- package/dist/chunk-D3D3NCRR.mjs +0 -556
- package/dist/chunk-HCFYP7UD.mjs +0 -805
- package/dist/chunk-HFLFBA6F.mjs +0 -417
- package/dist/chunk-HKSARRCD.mjs +0 -365
- package/dist/chunk-JJ5JL5FX.mjs +0 -417
- package/dist/chunk-KDSTXVLQ.mjs +0 -724
- package/dist/chunk-KI7XORTN.mjs +0 -417
- package/dist/chunk-LTMHFNFK.mjs +0 -690
- package/dist/chunk-LTNXTXRI.mjs +0 -659
- package/dist/chunk-M22BXHBR.mjs +0 -805
- package/dist/chunk-MH3A3LX6.mjs +0 -615
- package/dist/chunk-OQ6IGDXG.mjs +0 -553
- package/dist/chunk-QAFB3HXQ.mjs +0 -590
- package/dist/chunk-QQBKXHLU.mjs +0 -678
- package/dist/chunk-RDHYGES7.mjs +0 -678
- package/dist/chunk-SWTDBVYJ.mjs +0 -660
- package/dist/chunk-UIWL5JQB.mjs +0 -417
- package/dist/chunk-UQGI67WR.mjs +0 -417
- package/dist/chunk-UTZOO4XO.mjs +0 -553
- package/dist/chunk-X4F46I5L.mjs +0 -635
- package/dist/chunk-XKK7YHPX.mjs +0 -619
- package/dist/chunk-YCA4FTEK.mjs +0 -600
- package/dist/chunk-ZSZRRTJM.mjs +0 -719
- package/dist/client-BgmiMoil.d.mts +0 -1344
- package/dist/client-BgmiMoil.d.ts +0 -1344
- package/dist/client-BxGrPuuN.d.mts +0 -1191
- package/dist/client-BxGrPuuN.d.ts +0 -1191
- package/dist/client-D9seCH4K.d.mts +0 -1334
- package/dist/client-D9seCH4K.d.ts +0 -1334
- package/dist/client-DIXIh7rw.d.mts +0 -1193
- package/dist/client-DIXIh7rw.d.ts +0 -1193
- package/dist/client-DVHXWOHw.d.mts +0 -1245
- package/dist/client-DVHXWOHw.d.ts +0 -1245
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/parsers/parser-factory.d.ts +0 -69
- package/dist/parsers/parser-factory.d.ts.map +0 -1
- package/dist/parsers/parser-factory.js +0 -116
- package/dist/parsers/parser-factory.js.map +0 -1
- package/dist/parsers/python-parser.d.ts +0 -47
- package/dist/parsers/python-parser.d.ts.map +0 -1
- package/dist/parsers/python-parser.js +0 -243
- package/dist/parsers/python-parser.js.map +0 -1
- package/dist/parsers/typescript-parser.d.ts +0 -22
- package/dist/parsers/typescript-parser.d.ts.map +0 -1
- package/dist/parsers/typescript-parser.js +0 -242
- package/dist/parsers/typescript-parser.js.map +0 -1
- package/dist/scoring.d.ts +0 -120
- package/dist/scoring.d.ts.map +0 -1
- package/dist/scoring.js +0 -197
- package/dist/scoring.js.map +0 -1
- package/dist/types/language.d.ts +0 -172
- package/dist/types/language.d.ts.map +0 -1
- package/dist/types/language.js +0 -45
- package/dist/types/language.js.map +0 -1
- package/dist/types.d.ts +0 -122
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/ast-parser.d.ts +0 -59
- package/dist/utils/ast-parser.d.ts.map +0 -1
- package/dist/utils/ast-parser.js +0 -213
- package/dist/utils/ast-parser.js.map +0 -1
- package/dist/utils/cli-helpers.d.ts +0 -54
- package/dist/utils/cli-helpers.d.ts.map +0 -1
- package/dist/utils/cli-helpers.js +0 -78
- package/dist/utils/cli-helpers.js.map +0 -1
- package/dist/utils/config.d.ts +0 -9
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -80
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/file-scanner.d.ts +0 -16
- package/dist/utils/file-scanner.d.ts.map +0 -1
- package/dist/utils/file-scanner.js +0 -104
- package/dist/utils/file-scanner.js.map +0 -1
- package/dist/utils/metrics.d.ts +0 -6
- package/dist/utils/metrics.d.ts.map +0 -1
- package/dist/utils/metrics.js +0 -8
- package/dist/utils/metrics.js.map +0 -1
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAG1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAE1B,gCAAgC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parser Factory - Manages language-specific parsers
|
|
3
|
-
*
|
|
4
|
-
* This factory provides a centralized way to access the appropriate parser
|
|
5
|
-
* for a given file based on its extension.
|
|
6
|
-
*/
|
|
7
|
-
import { Language, LanguageParser } from '../types/language';
|
|
8
|
-
/**
|
|
9
|
-
* Factory for creating and managing language parsers
|
|
10
|
-
*/
|
|
11
|
-
export declare class ParserFactory {
|
|
12
|
-
private static instance;
|
|
13
|
-
private parsers;
|
|
14
|
-
private extensionMap;
|
|
15
|
-
private constructor();
|
|
16
|
-
/**
|
|
17
|
-
* Get singleton instance
|
|
18
|
-
*/
|
|
19
|
-
static getInstance(): ParserFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Register a language parser
|
|
22
|
-
*/
|
|
23
|
-
registerParser(parser: LanguageParser): void;
|
|
24
|
-
/**
|
|
25
|
-
* Get parser for a specific language
|
|
26
|
-
*/
|
|
27
|
-
getParserForLanguage(language: Language): LanguageParser | null;
|
|
28
|
-
/**
|
|
29
|
-
* Get parser for a file based on its extension
|
|
30
|
-
*/
|
|
31
|
-
getParserForFile(filePath: string): LanguageParser | null;
|
|
32
|
-
/**
|
|
33
|
-
* Check if a file is supported
|
|
34
|
-
*/
|
|
35
|
-
isSupported(filePath: string): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Get all registered languages
|
|
38
|
-
*/
|
|
39
|
-
getSupportedLanguages(): Language[];
|
|
40
|
-
/**
|
|
41
|
-
* Get all supported file extensions
|
|
42
|
-
*/
|
|
43
|
-
getSupportedExtensions(): string[];
|
|
44
|
-
/**
|
|
45
|
-
* Get language for a file
|
|
46
|
-
*/
|
|
47
|
-
getLanguageForFile(filePath: string): Language | null;
|
|
48
|
-
/**
|
|
49
|
-
* Extract file extension (with dot)
|
|
50
|
-
*/
|
|
51
|
-
private getFileExtension;
|
|
52
|
-
/**
|
|
53
|
-
* Reset factory (useful for testing)
|
|
54
|
-
*/
|
|
55
|
-
static reset(): void;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Convenience function to get parser for a file
|
|
59
|
-
*/
|
|
60
|
-
export declare function getParser(filePath: string): LanguageParser | null;
|
|
61
|
-
/**
|
|
62
|
-
* Convenience function to check if file is supported
|
|
63
|
-
*/
|
|
64
|
-
export declare function isFileSupported(filePath: string): boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Get all supported languages
|
|
67
|
-
*/
|
|
68
|
-
export declare function getSupportedLanguages(): Language[];
|
|
69
|
-
//# sourceMappingURL=parser-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser-factory.d.ts","sourceRoot":"","sources":["../../src/parsers/parser-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,YAAY,CAAwB;IAE5C,OAAO;IAWP;;OAEG;WACW,WAAW,IAAI,aAAa;IAO1C;;OAEG;IACI,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IASnD;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI;IAItE;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAWhE;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI7C;;OAEG;IACI,qBAAqB,IAAI,QAAQ,EAAE;IAI1C;;OAEG;IACI,sBAAsB,IAAI,MAAM,EAAE;IAIzC;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAK5D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;WACW,KAAK,IAAI,IAAI;CAG5B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parser Factory - Manages language-specific parsers
|
|
3
|
-
*
|
|
4
|
-
* This factory provides a centralized way to access the appropriate parser
|
|
5
|
-
* for a given file based on its extension.
|
|
6
|
-
*/
|
|
7
|
-
import { LANGUAGE_EXTENSIONS } from '../types/language';
|
|
8
|
-
import { TypeScriptParser } from './typescript-parser';
|
|
9
|
-
import { PythonParser } from './python-parser';
|
|
10
|
-
/**
|
|
11
|
-
* Factory for creating and managing language parsers
|
|
12
|
-
*/
|
|
13
|
-
export class ParserFactory {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.parsers = new Map();
|
|
16
|
-
this.extensionMap = new Map(
|
|
17
|
-
Object.entries(LANGUAGE_EXTENSIONS).map(([ext, lang]) => [ext, lang])
|
|
18
|
-
);
|
|
19
|
-
// Register default parsers
|
|
20
|
-
this.registerParser(new TypeScriptParser());
|
|
21
|
-
this.registerParser(new PythonParser());
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get singleton instance
|
|
25
|
-
*/
|
|
26
|
-
static getInstance() {
|
|
27
|
-
if (!ParserFactory.instance) {
|
|
28
|
-
ParserFactory.instance = new ParserFactory();
|
|
29
|
-
}
|
|
30
|
-
return ParserFactory.instance;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Register a language parser
|
|
34
|
-
*/
|
|
35
|
-
registerParser(parser) {
|
|
36
|
-
this.parsers.set(parser.language, parser);
|
|
37
|
-
// Map extensions to this parser
|
|
38
|
-
parser.extensions.forEach((ext) => {
|
|
39
|
-
this.extensionMap.set(ext, parser.language);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Get parser for a specific language
|
|
44
|
-
*/
|
|
45
|
-
getParserForLanguage(language) {
|
|
46
|
-
return this.parsers.get(language) || null;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get parser for a file based on its extension
|
|
50
|
-
*/
|
|
51
|
-
getParserForFile(filePath) {
|
|
52
|
-
const ext = this.getFileExtension(filePath);
|
|
53
|
-
const language = this.extensionMap.get(ext);
|
|
54
|
-
if (!language) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
return this.parsers.get(language) || null;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Check if a file is supported
|
|
61
|
-
*/
|
|
62
|
-
isSupported(filePath) {
|
|
63
|
-
return this.getParserForFile(filePath) !== null;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get all registered languages
|
|
67
|
-
*/
|
|
68
|
-
getSupportedLanguages() {
|
|
69
|
-
return Array.from(this.parsers.keys());
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get all supported file extensions
|
|
73
|
-
*/
|
|
74
|
-
getSupportedExtensions() {
|
|
75
|
-
return Array.from(this.extensionMap.keys());
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get language for a file
|
|
79
|
-
*/
|
|
80
|
-
getLanguageForFile(filePath) {
|
|
81
|
-
const ext = this.getFileExtension(filePath);
|
|
82
|
-
return this.extensionMap.get(ext) || null;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Extract file extension (with dot)
|
|
86
|
-
*/
|
|
87
|
-
getFileExtension(filePath) {
|
|
88
|
-
const match = filePath.match(/\.[^.]+$/);
|
|
89
|
-
return match ? match[0].toLowerCase() : '';
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Reset factory (useful for testing)
|
|
93
|
-
*/
|
|
94
|
-
static reset() {
|
|
95
|
-
ParserFactory.instance = new ParserFactory();
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Convenience function to get parser for a file
|
|
100
|
-
*/
|
|
101
|
-
export function getParser(filePath) {
|
|
102
|
-
return ParserFactory.getInstance().getParserForFile(filePath);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Convenience function to check if file is supported
|
|
106
|
-
*/
|
|
107
|
-
export function isFileSupported(filePath) {
|
|
108
|
-
return ParserFactory.getInstance().isSupported(filePath);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Get all supported languages
|
|
112
|
-
*/
|
|
113
|
-
export function getSupportedLanguages() {
|
|
114
|
-
return ParserFactory.getInstance().getSupportedLanguages();
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=parser-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser-factory.js","sourceRoot":"","sources":["../../src/parsers/parser-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Python Parser using tree-sitter
|
|
3
|
-
*
|
|
4
|
-
* Parses Python files using tree-sitter-python for accurate AST parsing
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
Language,
|
|
8
|
-
LanguageParser,
|
|
9
|
-
ParseResult,
|
|
10
|
-
NamingConvention,
|
|
11
|
-
} from '../types/language';
|
|
12
|
-
/**
|
|
13
|
-
* Python Parser implementation
|
|
14
|
-
*
|
|
15
|
-
* Note: This implementation will use tree-sitter-python for parsing.
|
|
16
|
-
* For now, it provides a skeleton that can be filled in once web-tree-sitter
|
|
17
|
-
* is properly configured.
|
|
18
|
-
*/
|
|
19
|
-
export declare class PythonParser implements LanguageParser {
|
|
20
|
-
readonly language = Language.Python;
|
|
21
|
-
readonly extensions: string[];
|
|
22
|
-
private parser;
|
|
23
|
-
private initialized;
|
|
24
|
-
/**
|
|
25
|
-
* Initialize the tree-sitter parser
|
|
26
|
-
* This is async because tree-sitter WASM needs to be loaded
|
|
27
|
-
*/
|
|
28
|
-
initialize(): Promise<void>;
|
|
29
|
-
parse(code: string, filePath: string): ParseResult;
|
|
30
|
-
getNamingConventions(): NamingConvention;
|
|
31
|
-
canHandle(filePath: string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Regex-based import extraction (temporary implementation)
|
|
34
|
-
*/
|
|
35
|
-
private extractImportsRegex;
|
|
36
|
-
/**
|
|
37
|
-
* Regex-based export extraction (temporary implementation)
|
|
38
|
-
*
|
|
39
|
-
* Python doesn't have explicit exports like JavaScript.
|
|
40
|
-
* We extract:
|
|
41
|
-
* - Functions defined at module level (def)
|
|
42
|
-
* - Classes defined at module level (class)
|
|
43
|
-
* - Variables in __all__ list
|
|
44
|
-
*/
|
|
45
|
-
private extractExportsRegex;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=python-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"python-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/python-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EAGX,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,QAAQ,mBAAmB;IACpC,QAAQ,CAAC,UAAU,WAAW;IAC9B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAsBlD,oBAAoB,IAAI,gBAAgB;IA8BxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwE3B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;CAqF5B"}
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Python Parser using tree-sitter
|
|
3
|
-
*
|
|
4
|
-
* Parses Python files using tree-sitter-python for accurate AST parsing
|
|
5
|
-
*/
|
|
6
|
-
import { Language, ParseError } from '../types/language';
|
|
7
|
-
/**
|
|
8
|
-
* Python Parser implementation
|
|
9
|
-
*
|
|
10
|
-
* Note: This implementation will use tree-sitter-python for parsing.
|
|
11
|
-
* For now, it provides a skeleton that can be filled in once web-tree-sitter
|
|
12
|
-
* is properly configured.
|
|
13
|
-
*/
|
|
14
|
-
export class PythonParser {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.language = Language.Python;
|
|
17
|
-
this.extensions = ['.py'];
|
|
18
|
-
this.parser = null;
|
|
19
|
-
this.initialized = false;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Initialize the tree-sitter parser
|
|
23
|
-
* This is async because tree-sitter WASM needs to be loaded
|
|
24
|
-
*/
|
|
25
|
-
async initialize() {
|
|
26
|
-
if (this.initialized) return;
|
|
27
|
-
try {
|
|
28
|
-
// TODO: Initialize tree-sitter-python
|
|
29
|
-
// const Parser = await import('web-tree-sitter');
|
|
30
|
-
// await Parser.init();
|
|
31
|
-
// this.parser = new Parser();
|
|
32
|
-
// const Python = await Parser.Language.load('tree-sitter-python.wasm');
|
|
33
|
-
// this.parser.setLanguage(Python);
|
|
34
|
-
this.initialized = true;
|
|
35
|
-
} catch (error) {
|
|
36
|
-
throw new Error(`Failed to initialize Python parser: ${error.message}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
parse(code, filePath) {
|
|
40
|
-
// TODO: Implement when tree-sitter is configured
|
|
41
|
-
// For now, return a basic parse with regex-based extraction
|
|
42
|
-
try {
|
|
43
|
-
const imports = this.extractImportsRegex(code, filePath);
|
|
44
|
-
const exports = this.extractExportsRegex(code, filePath);
|
|
45
|
-
return {
|
|
46
|
-
exports,
|
|
47
|
-
imports,
|
|
48
|
-
language: Language.Python,
|
|
49
|
-
warnings: [
|
|
50
|
-
'Python parsing is currently using regex-based extraction. Tree-sitter support coming soon.',
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
} catch (error) {
|
|
54
|
-
throw new ParseError(
|
|
55
|
-
`Failed to parse Python file ${filePath}: ${error.message}`,
|
|
56
|
-
filePath
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
getNamingConventions() {
|
|
61
|
-
// PEP 8 naming conventions
|
|
62
|
-
return {
|
|
63
|
-
// snake_case for variables and functions
|
|
64
|
-
variablePattern: /^[a-z_][a-z0-9_]*$/,
|
|
65
|
-
functionPattern: /^[a-z_][a-z0-9_]*$/,
|
|
66
|
-
// PascalCase for classes
|
|
67
|
-
classPattern: /^[A-Z][a-zA-Z0-9]*$/,
|
|
68
|
-
// UPPER_CASE for constants
|
|
69
|
-
constantPattern: /^[A-Z][A-Z0-9_]*$/,
|
|
70
|
-
// Python special methods and common exceptions
|
|
71
|
-
exceptions: [
|
|
72
|
-
'__init__',
|
|
73
|
-
'__str__',
|
|
74
|
-
'__repr__',
|
|
75
|
-
'__name__',
|
|
76
|
-
'__main__',
|
|
77
|
-
'__file__',
|
|
78
|
-
'__doc__',
|
|
79
|
-
'__all__',
|
|
80
|
-
'__version__',
|
|
81
|
-
'__author__',
|
|
82
|
-
'__dict__',
|
|
83
|
-
'__class__',
|
|
84
|
-
'__module__',
|
|
85
|
-
'__bases__',
|
|
86
|
-
],
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
canHandle(filePath) {
|
|
90
|
-
return filePath.toLowerCase().endsWith('.py');
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Regex-based import extraction (temporary implementation)
|
|
94
|
-
*/
|
|
95
|
-
extractImportsRegex(code, filePath) {
|
|
96
|
-
const imports = [];
|
|
97
|
-
const lines = code.split('\n');
|
|
98
|
-
// Match: import module
|
|
99
|
-
// Match: import module as alias
|
|
100
|
-
// Match: from module import name
|
|
101
|
-
// Match: from module import name1, name2
|
|
102
|
-
// Match: from module import *
|
|
103
|
-
const importRegex = /^\s*import\s+([a-zA-Z0-9_., ]+)/;
|
|
104
|
-
const fromImportRegex = /^\s*from\s+([a-zA-Z0-9_.]+)\s+import\s+(.+)/;
|
|
105
|
-
lines.forEach((line, idx) => {
|
|
106
|
-
// Skip comments
|
|
107
|
-
if (line.trim().startsWith('#')) return;
|
|
108
|
-
// Handle "import module"
|
|
109
|
-
const importMatch = line.match(importRegex);
|
|
110
|
-
if (importMatch) {
|
|
111
|
-
const modules = importMatch[1]
|
|
112
|
-
.split(',')
|
|
113
|
-
.map((m) => m.trim().split(' as ')[0]);
|
|
114
|
-
modules.forEach((module) => {
|
|
115
|
-
imports.push({
|
|
116
|
-
source: module,
|
|
117
|
-
specifiers: [module],
|
|
118
|
-
loc: {
|
|
119
|
-
start: { line: idx + 1, column: 0 },
|
|
120
|
-
end: { line: idx + 1, column: line.length },
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
// Handle "from module import ..."
|
|
127
|
-
const fromMatch = line.match(fromImportRegex);
|
|
128
|
-
if (fromMatch) {
|
|
129
|
-
const module = fromMatch[1];
|
|
130
|
-
const imports_str = fromMatch[2];
|
|
131
|
-
// Handle "from module import *"
|
|
132
|
-
if (imports_str.trim() === '*') {
|
|
133
|
-
imports.push({
|
|
134
|
-
source: module,
|
|
135
|
-
specifiers: ['*'],
|
|
136
|
-
loc: {
|
|
137
|
-
start: { line: idx + 1, column: 0 },
|
|
138
|
-
end: { line: idx + 1, column: line.length },
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
// Handle "from module import name1, name2"
|
|
144
|
-
const specifiers = imports_str
|
|
145
|
-
.split(',')
|
|
146
|
-
.map((s) => s.trim().split(' as ')[0]);
|
|
147
|
-
imports.push({
|
|
148
|
-
source: module,
|
|
149
|
-
specifiers,
|
|
150
|
-
loc: {
|
|
151
|
-
start: { line: idx + 1, column: 0 },
|
|
152
|
-
end: { line: idx + 1, column: line.length },
|
|
153
|
-
},
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
return imports;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Regex-based export extraction (temporary implementation)
|
|
161
|
-
*
|
|
162
|
-
* Python doesn't have explicit exports like JavaScript.
|
|
163
|
-
* We extract:
|
|
164
|
-
* - Functions defined at module level (def)
|
|
165
|
-
* - Classes defined at module level (class)
|
|
166
|
-
* - Variables in __all__ list
|
|
167
|
-
*/
|
|
168
|
-
extractExportsRegex(code, filePath) {
|
|
169
|
-
const exports = [];
|
|
170
|
-
const lines = code.split('\n');
|
|
171
|
-
// Extract functions: def function_name(
|
|
172
|
-
const functionRegex = /^def\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*\(/;
|
|
173
|
-
// Extract classes: class ClassName
|
|
174
|
-
const classRegex = /^class\s+([a-zA-Z_][a-zA-Z0-9_]*)/;
|
|
175
|
-
// Extract from __all__
|
|
176
|
-
const allRegex = /__all__\s*=\s*\[([^\]]+)\]/;
|
|
177
|
-
let inClass = false;
|
|
178
|
-
let classIndent = 0;
|
|
179
|
-
lines.forEach((line, idx) => {
|
|
180
|
-
const indent = line.search(/\S/);
|
|
181
|
-
// Track if we're inside a class (for filtering out methods)
|
|
182
|
-
if (line.match(classRegex)) {
|
|
183
|
-
inClass = true;
|
|
184
|
-
classIndent = indent;
|
|
185
|
-
} else if (inClass && indent <= classIndent && line.trim()) {
|
|
186
|
-
inClass = false;
|
|
187
|
-
}
|
|
188
|
-
// Skip if inside a class (methods are not module-level exports)
|
|
189
|
-
if (inClass) {
|
|
190
|
-
// But do extract the class itself
|
|
191
|
-
const classMatch = line.match(classRegex);
|
|
192
|
-
if (classMatch) {
|
|
193
|
-
exports.push({
|
|
194
|
-
name: classMatch[1],
|
|
195
|
-
type: 'class',
|
|
196
|
-
loc: {
|
|
197
|
-
start: { line: idx + 1, column: indent },
|
|
198
|
-
end: { line: idx + 1, column: line.length },
|
|
199
|
-
},
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
// Extract functions (only at module level)
|
|
205
|
-
const funcMatch = line.match(functionRegex);
|
|
206
|
-
if (funcMatch && indent === 0) {
|
|
207
|
-
const name = funcMatch[1];
|
|
208
|
-
// Skip private functions (starting with _) unless in __all__
|
|
209
|
-
if (!name.startsWith('_') || name.startsWith('__')) {
|
|
210
|
-
exports.push({
|
|
211
|
-
name,
|
|
212
|
-
type: 'function',
|
|
213
|
-
loc: {
|
|
214
|
-
start: { line: idx + 1, column: 0 },
|
|
215
|
-
end: { line: idx + 1, column: line.length },
|
|
216
|
-
},
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
// Extract from __all__
|
|
221
|
-
const allMatch = line.match(allRegex);
|
|
222
|
-
if (allMatch) {
|
|
223
|
-
const names = allMatch[1]
|
|
224
|
-
.split(',')
|
|
225
|
-
.map((n) => n.trim().replace(/['"]/g, ''));
|
|
226
|
-
names.forEach((name) => {
|
|
227
|
-
if (name && !exports.find((e) => e.name === name)) {
|
|
228
|
-
exports.push({
|
|
229
|
-
name,
|
|
230
|
-
type: 'variable',
|
|
231
|
-
loc: {
|
|
232
|
-
start: { line: idx + 1, column: 0 },
|
|
233
|
-
end: { line: idx + 1, column: line.length },
|
|
234
|
-
},
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
return exports;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
//# sourceMappingURL=python-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"python-parser.js","sourceRoot":"","sources":["../../src/parsers/python-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TypeScript/JavaScript Parser
|
|
3
|
-
*
|
|
4
|
-
* Parses TypeScript and JavaScript files using @typescript-eslint/typescript-estree
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
Language,
|
|
8
|
-
LanguageParser,
|
|
9
|
-
ParseResult,
|
|
10
|
-
NamingConvention,
|
|
11
|
-
} from '../types/language';
|
|
12
|
-
export declare class TypeScriptParser implements LanguageParser {
|
|
13
|
-
readonly language = Language.TypeScript;
|
|
14
|
-
readonly extensions: string[];
|
|
15
|
-
parse(code: string, filePath: string): ParseResult;
|
|
16
|
-
getNamingConventions(): NamingConvention;
|
|
17
|
-
canHandle(filePath: string): boolean;
|
|
18
|
-
private extractImports;
|
|
19
|
-
private extractExports;
|
|
20
|
-
private extractFromDeclaration;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=typescript-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/typescript-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EAGX,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,gBAAiB,YAAW,cAAc;IACrD,QAAQ,CAAC,QAAQ,uBAAuB;IACxC,QAAQ,CAAC,UAAU,WAAkC;IAErD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IA8BlD,oBAAoB,IAAI,gBAAgB;IAcxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,sBAAsB;CA0F/B"}
|