@liendev/core 0.30.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/constants.d.ts +1 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +4 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/indexer/ast/chunker.d.ts.map +1 -1
  10. package/dist/indexer/ast/chunker.js +4 -2
  11. package/dist/indexer/ast/chunker.js.map +1 -1
  12. package/dist/indexer/ast/complexity/cognitive.d.ts.map +1 -1
  13. package/dist/indexer/ast/complexity/cognitive.js +54 -23
  14. package/dist/indexer/ast/complexity/cognitive.js.map +1 -1
  15. package/dist/indexer/ast/complexity/cyclomatic.d.ts.map +1 -1
  16. package/dist/indexer/ast/complexity/cyclomatic.js +18 -25
  17. package/dist/indexer/ast/complexity/cyclomatic.js.map +1 -1
  18. package/dist/indexer/ast/complexity/halstead.d.ts +3 -2
  19. package/dist/indexer/ast/complexity/halstead.d.ts.map +1 -1
  20. package/dist/indexer/ast/complexity/halstead.js +9 -103
  21. package/dist/indexer/ast/complexity/halstead.js.map +1 -1
  22. package/dist/indexer/ast/extractors/index.d.ts +3 -9
  23. package/dist/indexer/ast/extractors/index.d.ts.map +1 -1
  24. package/dist/indexer/ast/extractors/index.js +5 -33
  25. package/dist/indexer/ast/extractors/index.js.map +1 -1
  26. package/dist/indexer/ast/extractors/rust.d.ts +41 -0
  27. package/dist/indexer/ast/extractors/rust.d.ts.map +1 -0
  28. package/dist/indexer/ast/extractors/rust.js +98 -0
  29. package/dist/indexer/ast/extractors/rust.js.map +1 -0
  30. package/dist/indexer/ast/languages/javascript.d.ts +3 -0
  31. package/dist/indexer/ast/languages/javascript.d.ts.map +1 -0
  32. package/dist/indexer/ast/languages/javascript.js +52 -0
  33. package/dist/indexer/ast/languages/javascript.js.map +1 -0
  34. package/dist/indexer/ast/languages/php.d.ts +3 -0
  35. package/dist/indexer/ast/languages/php.d.ts.map +1 -0
  36. package/dist/indexer/ast/languages/php.js +54 -0
  37. package/dist/indexer/ast/languages/php.js.map +1 -0
  38. package/dist/indexer/ast/languages/python.d.ts +3 -0
  39. package/dist/indexer/ast/languages/python.d.ts.map +1 -0
  40. package/dist/indexer/ast/languages/python.js +51 -0
  41. package/dist/indexer/ast/languages/python.js.map +1 -0
  42. package/dist/indexer/ast/languages/registry.d.ts +28 -0
  43. package/dist/indexer/ast/languages/registry.d.ts.map +1 -0
  44. package/dist/indexer/ast/languages/registry.js +68 -0
  45. package/dist/indexer/ast/languages/registry.js.map +1 -0
  46. package/dist/indexer/ast/languages/rust.d.ts +3 -0
  47. package/dist/indexer/ast/languages/rust.d.ts.map +1 -0
  48. package/dist/indexer/ast/languages/rust.js +51 -0
  49. package/dist/indexer/ast/languages/rust.js.map +1 -0
  50. package/dist/indexer/ast/languages/types.d.ts +48 -0
  51. package/dist/indexer/ast/languages/types.d.ts.map +1 -0
  52. package/dist/indexer/ast/languages/types.js +2 -0
  53. package/dist/indexer/ast/languages/types.js.map +1 -0
  54. package/dist/indexer/ast/languages/typescript.d.ts +3 -0
  55. package/dist/indexer/ast/languages/typescript.d.ts.map +1 -0
  56. package/dist/indexer/ast/languages/typescript.js +52 -0
  57. package/dist/indexer/ast/languages/typescript.js.map +1 -0
  58. package/dist/indexer/ast/parser.d.ts +6 -4
  59. package/dist/indexer/ast/parser.d.ts.map +1 -1
  60. package/dist/indexer/ast/parser.js +5 -41
  61. package/dist/indexer/ast/parser.js.map +1 -1
  62. package/dist/indexer/ast/symbols.d.ts +1 -1
  63. package/dist/indexer/ast/symbols.d.ts.map +1 -1
  64. package/dist/indexer/ast/symbols.js +50 -25
  65. package/dist/indexer/ast/symbols.js.map +1 -1
  66. package/dist/indexer/ast/traversers/index.d.ts +3 -3
  67. package/dist/indexer/ast/traversers/index.d.ts.map +1 -1
  68. package/dist/indexer/ast/traversers/index.js +5 -26
  69. package/dist/indexer/ast/traversers/index.js.map +1 -1
  70. package/dist/indexer/ast/traversers/rust.d.ts +24 -0
  71. package/dist/indexer/ast/traversers/rust.d.ts.map +1 -0
  72. package/dist/indexer/ast/traversers/rust.js +63 -0
  73. package/dist/indexer/ast/traversers/rust.js.map +1 -0
  74. package/dist/indexer/ast/types.d.ts +3 -9
  75. package/dist/indexer/ast/types.d.ts.map +1 -1
  76. package/dist/indexer/chunker.js +4 -4
  77. package/dist/indexer/chunker.js.map +1 -1
  78. package/dist/indexer/index.d.ts.map +1 -1
  79. package/dist/indexer/index.js +9 -6
  80. package/dist/indexer/index.js.map +1 -1
  81. package/dist/indexer/scanner.d.ts +10 -1
  82. package/dist/indexer/scanner.d.ts.map +1 -1
  83. package/dist/indexer/scanner.js +10 -1
  84. package/dist/indexer/scanner.js.map +1 -1
  85. package/dist/vectordb/lancedb.d.ts +2 -0
  86. package/dist/vectordb/lancedb.d.ts.map +1 -1
  87. package/dist/vectordb/lancedb.js.map +1 -1
  88. package/dist/vectordb/qdrant.d.ts +2 -0
  89. package/dist/vectordb/qdrant.d.ts.map +1 -1
  90. package/dist/vectordb/qdrant.js +34 -8
  91. package/dist/vectordb/qdrant.js.map +1 -1
  92. package/dist/vectordb/query.d.ts +2 -4
  93. package/dist/vectordb/query.d.ts.map +1 -1
  94. package/dist/vectordb/query.js +103 -28
  95. package/dist/vectordb/query.js.map +1 -1
  96. package/dist/vectordb/types.d.ts +2 -0
  97. package/dist/vectordb/types.d.ts.map +1 -1
  98. package/package.json +4 -2
@@ -0,0 +1,51 @@
1
+ import Rust from 'tree-sitter-rust';
2
+ import { RustTraverser } from '../traversers/rust.js';
3
+ import { RustExportExtractor } from '../extractors/rust.js';
4
+ export const rustDefinition = {
5
+ id: 'rust',
6
+ extensions: ['rs'],
7
+ grammar: Rust,
8
+ traverser: new RustTraverser(),
9
+ exportExtractor: new RustExportExtractor(),
10
+ complexity: {
11
+ decisionPoints: [
12
+ 'if_expression', 'match_expression', 'while_expression',
13
+ 'for_expression', 'loop_expression', 'match_arm',
14
+ 'binary_expression',
15
+ ],
16
+ nestingTypes: [
17
+ 'if_expression', 'for_expression', 'while_expression',
18
+ 'loop_expression', 'match_expression',
19
+ ],
20
+ nonNestingTypes: [
21
+ 'else_clause', 'match_arm',
22
+ ],
23
+ lambdaTypes: [
24
+ 'closure_expression',
25
+ ],
26
+ operatorSymbols: new Set([
27
+ '+', '-', '*', '/', '%',
28
+ '==', '!=', '<', '>', '<=', '>=',
29
+ '=', '+=', '-=', '*=', '/=', '%=',
30
+ '&=', '|=', '^=', '<<=', '>>=',
31
+ '&', '|', '^', '!', '<<', '>>',
32
+ '.', '::', '..', '..=', '=>', '->', '?',
33
+ '(', ')', '[', ']', '{', '}',
34
+ ]),
35
+ operatorKeywords: new Set([
36
+ 'if', 'else', 'match', 'for', 'while', 'loop',
37
+ 'return', 'break', 'continue',
38
+ 'let', 'mut', 'fn', 'struct', 'enum', 'impl', 'trait',
39
+ 'pub', 'mod', 'use', 'as',
40
+ 'async', 'await', 'unsafe', 'where', 'move',
41
+ 'ref', 'self', 'super', 'crate', 'dyn', 'type',
42
+ ]),
43
+ },
44
+ symbols: {
45
+ callExpressionTypes: [
46
+ 'call_expression',
47
+ 'macro_invocation',
48
+ ],
49
+ },
50
+ };
51
+ //# sourceMappingURL=rust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../../src/indexer/ast/languages/rust.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,IAAI,CAAC;IAClB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI,aAAa,EAAE;IAC9B,eAAe,EAAE,IAAI,mBAAmB,EAAE;IAE1C,UAAU,EAAE;QACV,cAAc,EAAE;YACd,eAAe,EAAE,kBAAkB,EAAE,kBAAkB;YACvD,gBAAgB,EAAE,iBAAiB,EAAE,WAAW;YAChD,mBAAmB;SACpB;QACD,YAAY,EAAE;YACZ,eAAe,EAAE,gBAAgB,EAAE,kBAAkB;YACrD,iBAAiB,EAAE,kBAAkB;SACtC;QACD,eAAe,EAAE;YACf,aAAa,EAAE,WAAW;SAC3B;QACD,WAAW,EAAE;YACX,oBAAoB;SACrB;QACD,eAAe,EAAE,IAAI,GAAG,CAAC;YACvB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACvB,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;YAChC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACjC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;YAC9B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;YAC9B,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG;YACvC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;SAC7B,CAAC;QACF,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACxB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;YAC7C,QAAQ,EAAE,OAAO,EAAE,UAAU;YAC7B,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;YACrD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;YACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;YAC3C,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;SAC/C,CAAC;KACH;IAED,OAAO,EAAE;QACP,mBAAmB,EAAE;YACnB,iBAAiB;YACjB,kBAAkB;SACnB;KACF;CACF,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { LanguageTraverser } from '../traversers/types.js';
2
+ import type { LanguageExportExtractor } from '../extractors/types.js';
3
+ import type { SupportedLanguage } from './registry.js';
4
+ /**
5
+ * Tree-sitter language grammar type.
6
+ * Using any due to type incompatibility between parser packages and tree-sitter core.
7
+ */
8
+ export type TreeSitterLanguage = any;
9
+ /**
10
+ * Complete definition for a language supported by AST parsing.
11
+ *
12
+ * Each supported language has a single definition file that assembles
13
+ * all language-specific data (grammar, traverser, extractor, complexity
14
+ * constants, symbol types) into one place.
15
+ */
16
+ export interface LanguageDefinition {
17
+ /** Language identifier (e.g., 'typescript', 'python') */
18
+ id: SupportedLanguage;
19
+ /** File extensions without dots (e.g., ['ts', 'tsx']) */
20
+ extensions: string[];
21
+ /** Tree-sitter grammar object for parsing */
22
+ grammar: TreeSitterLanguage;
23
+ /** Language-specific AST traverser instance */
24
+ traverser: LanguageTraverser;
25
+ /** Language-specific export extractor instance */
26
+ exportExtractor: LanguageExportExtractor;
27
+ /** Complexity metric configuration */
28
+ complexity: {
29
+ /** Cyclomatic: AST node types that represent decision points */
30
+ decisionPoints: string[];
31
+ /** Cognitive: node types that increase complexity AND increment nesting */
32
+ nestingTypes: string[];
33
+ /** Cognitive: node types that add complexity but don't nest */
34
+ nonNestingTypes: string[];
35
+ /** Cognitive: lambda/closure types that add complexity when nested */
36
+ lambdaTypes: string[];
37
+ /** Halstead: operator symbol characters (e.g., +, -, &&) */
38
+ operatorSymbols: Set<string>;
39
+ /** Halstead: keyword operators (e.g., if, while, return) */
40
+ operatorKeywords: Set<string>;
41
+ };
42
+ /** Symbol extraction configuration */
43
+ symbols: {
44
+ /** AST node types representing function/method calls */
45
+ callExpressionTypes: string[];
46
+ };
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/indexer/ast/languages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;GAGG;AAEH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,EAAE,EAAE,iBAAiB,CAAC;IAEtB,yDAAyD;IACzD,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,6CAA6C;IAC7C,OAAO,EAAE,kBAAkB,CAAC;IAE5B,+CAA+C;IAC/C,SAAS,EAAE,iBAAiB,CAAC;IAE7B,kDAAkD;IAClD,eAAe,EAAE,uBAAuB,CAAC;IAEzC,sCAAsC;IACtC,UAAU,EAAE;QACV,gEAAgE;QAChE,cAAc,EAAE,MAAM,EAAE,CAAC;QAEzB,2EAA2E;QAC3E,YAAY,EAAE,MAAM,EAAE,CAAC;QAEvB,+DAA+D;QAC/D,eAAe,EAAE,MAAM,EAAE,CAAC;QAE1B,sEAAsE;QACtE,WAAW,EAAE,MAAM,EAAE,CAAC;QAEtB,4DAA4D;QAC5D,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7B,4DAA4D;QAC5D,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B,CAAC;IAEF,sCAAsC;IACtC,OAAO,EAAE;QACP,wDAAwD;QACxD,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/indexer/ast/languages/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { LanguageDefinition } from './types.js';
2
+ export declare const typescriptDefinition: LanguageDefinition;
3
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../../src/indexer/ast/languages/typescript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,eAAO,MAAM,oBAAoB,EAAE,kBAiDlC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import TypeScript from 'tree-sitter-typescript';
2
+ import { TypeScriptTraverser } from '../traversers/typescript.js';
3
+ import { TypeScriptExportExtractor } from '../extractors/javascript.js';
4
+ export const typescriptDefinition = {
5
+ id: 'typescript',
6
+ extensions: ['ts', 'tsx'],
7
+ grammar: TypeScript.typescript,
8
+ traverser: new TypeScriptTraverser(),
9
+ exportExtractor: new TypeScriptExportExtractor(),
10
+ complexity: {
11
+ decisionPoints: [
12
+ 'if_statement', 'while_statement', 'for_statement', 'switch_case',
13
+ 'catch_clause', 'ternary_expression', 'binary_expression',
14
+ 'do_statement', 'for_in_statement', 'for_of_statement',
15
+ ],
16
+ nestingTypes: [
17
+ 'if_statement', 'for_statement', 'while_statement', 'switch_statement',
18
+ 'catch_clause', 'do_statement', 'for_in_statement', 'for_of_statement',
19
+ ],
20
+ nonNestingTypes: [
21
+ 'else_clause', 'ternary_expression',
22
+ ],
23
+ lambdaTypes: [
24
+ 'arrow_function', 'function_expression',
25
+ ],
26
+ operatorSymbols: new Set([
27
+ '+', '-', '*', '/', '%', '**',
28
+ '==', '===', '!=', '!==', '<', '>', '<=', '>=',
29
+ '&&', '||', '!', '??',
30
+ '=', '+=', '-=', '*=', '/=', '%=', '**=', '&&=', '||=', '??=',
31
+ '&', '|', '^', '~', '<<', '>>', '>>>',
32
+ '&=', '|=', '^=', '<<=', '>>=', '>>>=',
33
+ '?', ':', '.', '?.', '++', '--', '...', '=>',
34
+ '(', ')', '[', ']', '{', '}',
35
+ ]),
36
+ operatorKeywords: new Set([
37
+ 'if', 'else', 'for', 'while', 'do', 'switch', 'case', 'default',
38
+ 'return', 'throw', 'try', 'catch', 'finally',
39
+ 'new', 'delete', 'typeof', 'instanceof', 'in', 'of',
40
+ 'await', 'yield', 'break', 'continue',
41
+ 'const', 'let', 'var', 'function', 'class', 'extends', 'implements',
42
+ 'import', 'export', 'from', 'as',
43
+ ]),
44
+ },
45
+ symbols: {
46
+ callExpressionTypes: [
47
+ 'call_expression',
48
+ 'new_expression',
49
+ ],
50
+ },
51
+ };
52
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../src/indexer/ast/languages/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD,EAAE,EAAE,YAAY;IAChB,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC,UAAU;IAC9B,SAAS,EAAE,IAAI,mBAAmB,EAAE;IACpC,eAAe,EAAE,IAAI,yBAAyB,EAAE;IAEhD,UAAU,EAAE;QACV,cAAc,EAAE;YACd,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa;YACjE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB;YACzD,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;SACvD;QACD,YAAY,EAAE;YACZ,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB;YACtE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;SACvE;QACD,eAAe,EAAE;YACf,aAAa,EAAE,oBAAoB;SACpC;QACD,WAAW,EAAE;YACX,gBAAgB,EAAE,qBAAqB;SACxC;QACD,eAAe,EAAE,IAAI,GAAG,CAAC;YACvB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;YAC7B,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;YAC9C,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;YACrB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;YAC7D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACrC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;YACtC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;YAC5C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;SAC7B,CAAC;QACF,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACxB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;YAC/D,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS;YAC5C,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;YACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY;YACnE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI;SACjC,CAAC;KACH;IAED,OAAO,EAAE;QACP,mBAAmB,EAAE;YACnB,iBAAiB;YACjB,gBAAgB;SACjB;KACF;CACF,CAAC"}
@@ -1,9 +1,11 @@
1
- import type { ASTParseResult, SupportedLanguage } from './types.js';
1
+ import { detectLanguage as registryDetectLanguage } from './languages/registry.js';
2
+ import type { SupportedLanguage } from './languages/registry.js';
3
+ import type { ASTParseResult } from './types.js';
2
4
  /**
3
- * Detect language from file extension
4
- * Uses path.extname() to handle edge cases like multiple dots in filenames
5
+ * Detect language from file extension.
6
+ * Re-exported from the language registry for backwards compatibility.
5
7
  */
6
- export declare function detectLanguage(filePath: string): SupportedLanguage | null;
8
+ export declare const detectLanguage: typeof registryDetectLanguage;
7
9
  /**
8
10
  * Check if a file is supported for AST parsing
9
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/parser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA0CpE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAqBzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CAoBrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,cAAc,IAAI,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsBjD;;;GAGG;AACH,eAAO,MAAM,cAAc,+BAAyB,CAAC;AAErD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CAoBrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
@@ -1,62 +1,26 @@
1
1
  import Parser from 'tree-sitter';
2
- import TypeScript from 'tree-sitter-typescript';
3
- import JavaScript from 'tree-sitter-javascript';
4
- import PHPParser from 'tree-sitter-php';
5
- import Python from 'tree-sitter-python';
6
- import { extname } from 'path';
2
+ import { getLanguage, detectLanguage as registryDetectLanguage } from './languages/registry.js';
7
3
  /**
8
4
  * Cache for parser instances to avoid recreating them
9
5
  */
10
6
  const parserCache = new Map();
11
- /**
12
- * Language configuration mapping
13
- */
14
- const languageConfig = {
15
- typescript: TypeScript.typescript,
16
- javascript: JavaScript,
17
- php: PHPParser.php, // Note: tree-sitter-php exports both 'php' (mixed HTML/PHP) and 'php_only'
18
- python: Python,
19
- };
20
7
  /**
21
8
  * Get or create a cached parser instance for a language
22
9
  */
23
10
  function getParser(language) {
24
11
  if (!parserCache.has(language)) {
25
12
  const parser = new Parser();
26
- const grammar = languageConfig[language];
27
- if (!grammar) {
28
- throw new Error(`No grammar available for language: ${language}`);
29
- }
13
+ const grammar = getLanguage(language).grammar;
30
14
  parser.setLanguage(grammar);
31
15
  parserCache.set(language, parser);
32
16
  }
33
17
  return parserCache.get(language);
34
18
  }
35
19
  /**
36
- * Detect language from file extension
37
- * Uses path.extname() to handle edge cases like multiple dots in filenames
20
+ * Detect language from file extension.
21
+ * Re-exported from the language registry for backwards compatibility.
38
22
  */
39
- export function detectLanguage(filePath) {
40
- // extname returns extension with leading dot (e.g., '.ts')
41
- // Remove the dot and convert to lowercase
42
- const ext = extname(filePath).slice(1).toLowerCase();
43
- switch (ext) {
44
- case 'ts':
45
- case 'tsx':
46
- return 'typescript';
47
- case 'js':
48
- case 'jsx':
49
- case 'mjs':
50
- case 'cjs':
51
- return 'javascript';
52
- case 'php':
53
- return 'php';
54
- case 'py':
55
- return 'python';
56
- default:
57
- return null;
58
- }
59
- }
23
+ export const detectLanguage = registryDetectLanguage;
60
24
  /**
61
25
  * Check if a file is supported for AST parsing
62
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/indexer/ast/parser.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;AAQzD;;GAEG;AACH,MAAM,cAAc,GAAkD;IACpE,UAAU,EAAE,UAAU,CAAC,UAAU;IACjC,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,2EAA2E;IAC/F,MAAM,EAAE,MAAM;CACf,CAAC;AAEF;;GAEG;AACH,SAAS,SAAS,CAAC,QAA2B;IAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,2DAA2D;IAC3D,0CAA0C;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAErD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,YAAY,CAAC;QACtB,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,YAAY,CAAC;QACtB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,IAAI;YACP,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,QAA2B;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,gEAAgE;QAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,6BAA6B;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;SACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/indexer/ast/parser.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAIhG;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEzD;;GAEG;AACH,SAAS,SAAS,CAAC,QAA2B;IAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;QAE9C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,QAA2B;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,gEAAgE;QAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,6BAA6B;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;SACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
@@ -77,7 +77,7 @@ export declare function extractExports(rootNode: Parser.SyntaxNode, language?: S
77
77
  * Returns array of function calls made within the node.
78
78
  *
79
79
  * Supported languages:
80
- * - TypeScript/JavaScript: call_expression (foo(), obj.method())
80
+ * - TypeScript/JavaScript: call_expression (foo(), obj.method()), new_expression (new Foo())
81
81
  * - PHP: function_call_expression, member_call_expression, scoped_call_expression
82
82
  * - Python: call (similar to JS call_expression)
83
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA4MhE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CASnB;AAkED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CA2CpE;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA0C5F;AAkRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAKlG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMjG"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6MhE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CASnB;AAkED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CA2CpE;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA0C5F;AAkRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAKlG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjG"}
@@ -1,5 +1,6 @@
1
1
  import { calculateComplexity } from './complexity/index.js';
2
2
  import { getExtractor } from './extractors/index.js';
3
+ import { getAllLanguages } from './languages/registry.js';
3
4
  /**
4
5
  * Extract function declaration info (function_declaration, function)
5
6
  */
@@ -667,31 +668,38 @@ export function extractExports(rootNode, language) {
667
668
  * Returns array of function calls made within the node.
668
669
  *
669
670
  * Supported languages:
670
- * - TypeScript/JavaScript: call_expression (foo(), obj.method())
671
+ * - TypeScript/JavaScript: call_expression (foo(), obj.method()), new_expression (new Foo())
671
672
  * - PHP: function_call_expression, member_call_expression, scoped_call_expression
672
673
  * - Python: call (similar to JS call_expression)
673
674
  */
674
675
  export function extractCallSites(node) {
675
676
  const callSites = [];
676
677
  const seen = new Set();
677
- traverseForCallSites(node, callSites, seen);
678
+ const callExprTypes = getCallExpressionTypes();
679
+ traverseForCallSites(node, callSites, seen, callExprTypes);
678
680
  return callSites;
679
681
  }
680
682
  /**
681
- * Call expression node types by language.
683
+ * Call expression node types, built from all language definitions.
684
+ * Lazily initialized on first use.
682
685
  */
683
- const CALL_EXPRESSION_TYPES = new Set([
684
- 'call_expression', // TypeScript/JavaScript
685
- 'call', // Python
686
- 'function_call_expression', // PHP: helper_function()
687
- 'member_call_expression', // PHP: $this->method()
688
- 'scoped_call_expression', // PHP: User::find()
689
- ]);
686
+ let callExpressionTypesCache = null;
687
+ function getCallExpressionTypes() {
688
+ if (!callExpressionTypesCache) {
689
+ callExpressionTypesCache = new Set();
690
+ for (const lang of getAllLanguages()) {
691
+ for (const type of lang.symbols.callExpressionTypes) {
692
+ callExpressionTypesCache.add(type);
693
+ }
694
+ }
695
+ }
696
+ return callExpressionTypesCache;
697
+ }
690
698
  /**
691
699
  * Recursively traverse AST to find call expressions.
692
700
  */
693
- function traverseForCallSites(node, callSites, seen) {
694
- if (CALL_EXPRESSION_TYPES.has(node.type)) {
701
+ function traverseForCallSites(node, callSites, seen, callExprTypes) {
702
+ if (callExprTypes.has(node.type)) {
695
703
  const callSite = extractCallSiteFromExpression(node);
696
704
  if (callSite && !seen.has(callSite.key)) {
697
705
  seen.add(callSite.key);
@@ -702,7 +710,7 @@ function traverseForCallSites(node, callSites, seen) {
702
710
  for (let i = 0; i < node.namedChildCount; i++) {
703
711
  const child = node.namedChild(i);
704
712
  if (child)
705
- traverseForCallSites(child, callSites, seen);
713
+ traverseForCallSites(child, callSites, seen, callExprTypes);
706
714
  }
707
715
  }
708
716
  /**
@@ -715,6 +723,10 @@ function extractCallSiteFromExpression(node) {
715
723
  if (node.type === 'call_expression') {
716
724
  return extractJSCallSite(node, line);
717
725
  }
726
+ // TypeScript/JavaScript: new_expression (new Foo(), new ns.Bar())
727
+ if (node.type === 'new_expression') {
728
+ return extractNewExpressionCallSite(node, line);
729
+ }
718
730
  // Python: call
719
731
  if (node.type === 'call') {
720
732
  return extractPythonCallSite(node, line);
@@ -742,6 +754,19 @@ function extractCallSiteFromExpression(node) {
742
754
  }
743
755
  return null;
744
756
  }
757
+ /**
758
+ * Resolve a JS/TS node (identifier or member_expression) to a symbol name.
759
+ */
760
+ function resolveJSSymbol(node) {
761
+ if (node.type === 'identifier')
762
+ return node.text;
763
+ if (node.type === 'member_expression') {
764
+ const propertyNode = node.childForFieldName('property');
765
+ if (propertyNode?.type === 'property_identifier')
766
+ return propertyNode.text;
767
+ }
768
+ return null;
769
+ }
745
770
  /**
746
771
  * Extract call site from JavaScript/TypeScript call_expression.
747
772
  */
@@ -749,18 +774,18 @@ function extractJSCallSite(node, line) {
749
774
  const functionNode = node.childForFieldName('function');
750
775
  if (!functionNode)
751
776
  return null;
752
- // Direct function call: foo()
753
- if (functionNode.type === 'identifier') {
754
- return { symbol: functionNode.text, line, key: `${functionNode.text}:${line}` };
755
- }
756
- // Member expression: foo.bar() - extract 'bar'
757
- if (functionNode.type === 'member_expression') {
758
- const propertyNode = functionNode.childForFieldName('property');
759
- if (propertyNode?.type === 'property_identifier') {
760
- return { symbol: propertyNode.text, line, key: `${propertyNode.text}:${line}` };
761
- }
762
- }
763
- return null;
777
+ const symbol = resolveJSSymbol(functionNode);
778
+ return symbol ? { symbol, line, key: `${symbol}:${line}` } : null;
779
+ }
780
+ /**
781
+ * Extract call site from JavaScript/TypeScript new_expression.
782
+ */
783
+ function extractNewExpressionCallSite(node, line) {
784
+ const ctorNode = node.childForFieldName('constructor');
785
+ if (!ctorNode)
786
+ return null;
787
+ const symbol = resolveJSSymbol(ctorNode);
788
+ return symbol ? { symbol, line, key: `${symbol}:${line}` } : null;
764
789
  }
765
790
  /**
766
791
  * Extract call site from Python call expression.
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/indexer/ast/symbols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/indexer/ast/symbols.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import type { SupportedLanguage } from '../types.js';
2
2
  import type { LanguageTraverser } from './types.js';
3
3
  export type { LanguageTraverser, DeclarationFunctionInfo } from './types.js';
4
4
  /**
5
- * Get the traverser for a specific language
5
+ * Get the traverser for a specific language.
6
+ * Delegates to the language registry.
6
7
  *
7
8
  * @param language - Programming language
8
9
  * @returns Language-specific traverser
9
- * @throws Error if language is not supported
10
10
  */
11
11
  export declare function getTraverser(language: SupportedLanguage): LanguageTraverser;
12
12
  /**
@@ -15,5 +15,5 @@ export declare function getTraverser(language: SupportedLanguage): LanguageTrave
15
15
  * @param language - Programming language
16
16
  * @returns True if traverser exists
17
17
  */
18
- export declare function hasTraverser(language: SupportedLanguage): boolean;
18
+ export declare function hasTraverser(language: string): boolean;
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/indexer/ast/traversers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAkB7E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,CAQ3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAEjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/indexer/ast/traversers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -1,34 +1,13 @@
1
- import { TypeScriptTraverser, JavaScriptTraverser } from './typescript.js';
2
- import { PHPTraverser } from './php.js';
3
- import { PythonTraverser } from './python.js';
1
+ import { getLanguage, languageExists } from '../languages/registry.js';
4
2
  /**
5
- * Registry of language traversers
6
- *
7
- * Maps each supported language to its traverser implementation.
8
- * When adding a new language:
9
- * 1. Create a new traverser class implementing LanguageTraverser
10
- * 2. Add it to this registry
11
- * 3. Update SupportedLanguage type in ../types.ts
12
- */
13
- const traverserRegistry = {
14
- typescript: new TypeScriptTraverser(),
15
- javascript: new JavaScriptTraverser(),
16
- php: new PHPTraverser(),
17
- python: new PythonTraverser(),
18
- };
19
- /**
20
- * Get the traverser for a specific language
3
+ * Get the traverser for a specific language.
4
+ * Delegates to the language registry.
21
5
  *
22
6
  * @param language - Programming language
23
7
  * @returns Language-specific traverser
24
- * @throws Error if language is not supported
25
8
  */
26
9
  export function getTraverser(language) {
27
- const traverser = traverserRegistry[language];
28
- if (!traverser) {
29
- throw new Error(`No traverser available for language: ${language}`);
30
- }
31
- return traverser;
10
+ return getLanguage(language).traverser;
32
11
  }
33
12
  /**
34
13
  * Check if a language has a traverser implementation
@@ -37,6 +16,6 @@ export function getTraverser(language) {
37
16
  * @returns True if traverser exists
38
17
  */
39
18
  export function hasTraverser(language) {
40
- return language in traverserRegistry;
19
+ return languageExists(language);
41
20
  }
42
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/indexer/ast/traversers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAiD;IACtE,UAAU,EAAE,IAAI,mBAAmB,EAAE;IACrC,UAAU,EAAE,IAAI,mBAAmB,EAAE;IACrC,GAAG,EAAE,IAAI,YAAY,EAAE;IACvB,MAAM,EAAE,IAAI,eAAe,EAAE;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,OAAO,QAAQ,IAAI,iBAAiB,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/indexer/ast/traversers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIvE;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}