@liendev/parser 0.39.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 (153) hide show
  1. package/dist/ast/chunker.d.ts +30 -0
  2. package/dist/ast/chunker.d.ts.map +1 -0
  3. package/dist/ast/chunker.js +310 -0
  4. package/dist/ast/chunker.js.map +1 -0
  5. package/dist/ast/complexity/cognitive.d.ts +16 -0
  6. package/dist/ast/complexity/cognitive.d.ts.map +1 -0
  7. package/dist/ast/complexity/cognitive.js +137 -0
  8. package/dist/ast/complexity/cognitive.js.map +1 -0
  9. package/dist/ast/complexity/cyclomatic.d.ts +12 -0
  10. package/dist/ast/complexity/cyclomatic.d.ts.map +1 -0
  11. package/dist/ast/complexity/cyclomatic.js +54 -0
  12. package/dist/ast/complexity/cyclomatic.js.map +1 -0
  13. package/dist/ast/complexity/halstead.d.ts +56 -0
  14. package/dist/ast/complexity/halstead.d.ts.map +1 -0
  15. package/dist/ast/complexity/halstead.js +196 -0
  16. package/dist/ast/complexity/halstead.js.map +1 -0
  17. package/dist/ast/complexity/index.d.ts +13 -0
  18. package/dist/ast/complexity/index.d.ts.map +1 -0
  19. package/dist/ast/complexity/index.js +12 -0
  20. package/dist/ast/complexity/index.js.map +1 -0
  21. package/dist/ast/extractors/index.d.ts +35 -0
  22. package/dist/ast/extractors/index.d.ts.map +1 -0
  23. package/dist/ast/extractors/index.js +41 -0
  24. package/dist/ast/extractors/index.js.map +1 -0
  25. package/dist/ast/extractors/symbol-helpers.d.ts +20 -0
  26. package/dist/ast/extractors/symbol-helpers.d.ts.map +1 -0
  27. package/dist/ast/extractors/symbol-helpers.js +58 -0
  28. package/dist/ast/extractors/symbol-helpers.js.map +1 -0
  29. package/dist/ast/extractors/types.d.ts +108 -0
  30. package/dist/ast/extractors/types.d.ts.map +1 -0
  31. package/dist/ast/extractors/types.js +2 -0
  32. package/dist/ast/extractors/types.js.map +1 -0
  33. package/dist/ast/languages/javascript.d.ts +134 -0
  34. package/dist/ast/languages/javascript.d.ts.map +1 -0
  35. package/dist/ast/languages/javascript.js +787 -0
  36. package/dist/ast/languages/javascript.js.map +1 -0
  37. package/dist/ast/languages/php.d.ts +84 -0
  38. package/dist/ast/languages/php.d.ts.map +1 -0
  39. package/dist/ast/languages/php.js +452 -0
  40. package/dist/ast/languages/php.js.map +1 -0
  41. package/dist/ast/languages/python.d.ts +96 -0
  42. package/dist/ast/languages/python.d.ts.map +1 -0
  43. package/dist/ast/languages/python.js +448 -0
  44. package/dist/ast/languages/python.js.map +1 -0
  45. package/dist/ast/languages/registry.d.ts +30 -0
  46. package/dist/ast/languages/registry.d.ts.map +1 -0
  47. package/dist/ast/languages/registry.js +95 -0
  48. package/dist/ast/languages/registry.js.map +1 -0
  49. package/dist/ast/languages/rust.d.ts +113 -0
  50. package/dist/ast/languages/rust.d.ts.map +1 -0
  51. package/dist/ast/languages/rust.js +614 -0
  52. package/dist/ast/languages/rust.js.map +1 -0
  53. package/dist/ast/languages/types.d.ts +52 -0
  54. package/dist/ast/languages/types.d.ts.map +1 -0
  55. package/dist/ast/languages/types.js +2 -0
  56. package/dist/ast/languages/types.js.map +1 -0
  57. package/dist/ast/languages/typescript.d.ts +3 -0
  58. package/dist/ast/languages/typescript.d.ts.map +1 -0
  59. package/dist/ast/languages/typescript.js +134 -0
  60. package/dist/ast/languages/typescript.js.map +1 -0
  61. package/dist/ast/parser.d.ts +29 -0
  62. package/dist/ast/parser.d.ts.map +1 -0
  63. package/dist/ast/parser.js +67 -0
  64. package/dist/ast/parser.js.map +1 -0
  65. package/dist/ast/symbols.d.ts +74 -0
  66. package/dist/ast/symbols.d.ts.map +1 -0
  67. package/dist/ast/symbols.js +171 -0
  68. package/dist/ast/symbols.js.map +1 -0
  69. package/dist/ast/traversers/index.d.ts +19 -0
  70. package/dist/ast/traversers/index.d.ts.map +1 -0
  71. package/dist/ast/traversers/index.js +21 -0
  72. package/dist/ast/traversers/index.js.map +1 -0
  73. package/dist/ast/traversers/types.d.ts +98 -0
  74. package/dist/ast/traversers/types.d.ts.map +1 -0
  75. package/dist/ast/traversers/types.js +2 -0
  76. package/dist/ast/traversers/types.js.map +1 -0
  77. package/dist/ast/types.d.ts +54 -0
  78. package/dist/ast/types.d.ts.map +1 -0
  79. package/dist/ast/types.js +2 -0
  80. package/dist/ast/types.js.map +1 -0
  81. package/dist/chunk-only-index.d.ts +25 -0
  82. package/dist/chunk-only-index.d.ts.map +1 -0
  83. package/dist/chunk-only-index.js +107 -0
  84. package/dist/chunk-only-index.js.map +1 -0
  85. package/dist/chunker.d.ts +12 -0
  86. package/dist/chunker.d.ts.map +1 -0
  87. package/dist/chunker.js +98 -0
  88. package/dist/chunker.js.map +1 -0
  89. package/dist/constants.d.ts +8 -0
  90. package/dist/constants.d.ts.map +1 -0
  91. package/dist/constants.js +11 -0
  92. package/dist/constants.js.map +1 -0
  93. package/dist/content-hash.d.ts +20 -0
  94. package/dist/content-hash.d.ts.map +1 -0
  95. package/dist/content-hash.js +91 -0
  96. package/dist/content-hash.js.map +1 -0
  97. package/dist/dependency-analyzer.d.ts +79 -0
  98. package/dist/dependency-analyzer.d.ts.map +1 -0
  99. package/dist/dependency-analyzer.js +408 -0
  100. package/dist/dependency-analyzer.js.map +1 -0
  101. package/dist/ecosystem-presets.d.ts +32 -0
  102. package/dist/ecosystem-presets.d.ts.map +1 -0
  103. package/dist/ecosystem-presets.js +325 -0
  104. package/dist/ecosystem-presets.js.map +1 -0
  105. package/dist/gitignore.d.ts +22 -0
  106. package/dist/gitignore.d.ts.map +1 -0
  107. package/dist/gitignore.js +128 -0
  108. package/dist/gitignore.js.map +1 -0
  109. package/dist/index.d.ts +32 -0
  110. package/dist/index.d.ts.map +1 -0
  111. package/dist/index.js +68 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/insights/chunk-complexity.d.ts +89 -0
  114. package/dist/insights/chunk-complexity.d.ts.map +1 -0
  115. package/dist/insights/chunk-complexity.js +332 -0
  116. package/dist/insights/chunk-complexity.js.map +1 -0
  117. package/dist/insights/types.d.ts +73 -0
  118. package/dist/insights/types.d.ts.map +1 -0
  119. package/dist/insights/types.js +9 -0
  120. package/dist/insights/types.js.map +1 -0
  121. package/dist/json-template-chunker.d.ts +12 -0
  122. package/dist/json-template-chunker.d.ts.map +1 -0
  123. package/dist/json-template-chunker.js +87 -0
  124. package/dist/json-template-chunker.js.map +1 -0
  125. package/dist/liquid-chunker.d.ts +16 -0
  126. package/dist/liquid-chunker.d.ts.map +1 -0
  127. package/dist/liquid-chunker.js +274 -0
  128. package/dist/liquid-chunker.js.map +1 -0
  129. package/dist/scanner.d.ts +16 -0
  130. package/dist/scanner.d.ts.map +1 -0
  131. package/dist/scanner.js +95 -0
  132. package/dist/scanner.js.map +1 -0
  133. package/dist/symbol-extractor.d.ts +18 -0
  134. package/dist/symbol-extractor.d.ts.map +1 -0
  135. package/dist/symbol-extractor.js +343 -0
  136. package/dist/symbol-extractor.js.map +1 -0
  137. package/dist/test-associations.d.ts +16 -0
  138. package/dist/test-associations.d.ts.map +1 -0
  139. package/dist/test-associations.js +43 -0
  140. package/dist/test-associations.js.map +1 -0
  141. package/dist/types.d.ts +75 -0
  142. package/dist/types.d.ts.map +1 -0
  143. package/dist/types.js +2 -0
  144. package/dist/types.js.map +1 -0
  145. package/dist/utils/path-matching.d.ts +71 -0
  146. package/dist/utils/path-matching.d.ts.map +1 -0
  147. package/dist/utils/path-matching.js +258 -0
  148. package/dist/utils/path-matching.js.map +1 -0
  149. package/dist/utils/repo-id.d.ts +6 -0
  150. package/dist/utils/repo-id.d.ts.map +1 -0
  151. package/dist/utils/repo-id.js +12 -0
  152. package/dist/utils/repo-id.js.map +1 -0
  153. package/package.json +66 -0
@@ -0,0 +1,134 @@
1
+ import type Parser from 'tree-sitter';
2
+ import type { SymbolInfo } from '../types.js';
3
+ import type { LanguageDefinition } from './types.js';
4
+ import type { LanguageTraverser, DeclarationFunctionInfo } from '../traversers/types.js';
5
+ import type { LanguageExportExtractor, LanguageImportExtractor, LanguageSymbolExtractor } from '../extractors/types.js';
6
+ /**
7
+ * TypeScript/JavaScript AST traverser
8
+ *
9
+ * Handles TypeScript and JavaScript AST node types and traversal patterns.
10
+ * Both languages share the same AST structure (via tree-sitter-typescript).
11
+ */
12
+ export declare class TypeScriptTraverser implements LanguageTraverser {
13
+ targetNodeTypes: string[];
14
+ containerTypes: string[];
15
+ declarationTypes: string[];
16
+ functionTypes: string[];
17
+ shouldExtractChildren(node: Parser.SyntaxNode): boolean;
18
+ isDeclarationWithFunction(node: Parser.SyntaxNode): boolean;
19
+ getContainerBody(node: Parser.SyntaxNode): Parser.SyntaxNode | null;
20
+ shouldTraverseChildren(node: Parser.SyntaxNode): boolean;
21
+ findParentContainerName(node: Parser.SyntaxNode): string | undefined;
22
+ findFunctionInDeclaration(node: Parser.SyntaxNode): DeclarationFunctionInfo;
23
+ }
24
+ /**
25
+ * JavaScript uses the same traverser as TypeScript
26
+ */
27
+ export declare class JavaScriptTraverser extends TypeScriptTraverser {
28
+ }
29
+ /**
30
+ * JavaScript/TypeScript export extractor
31
+ *
32
+ * Handles ES module exports:
33
+ * - Named exports: export { foo, bar }
34
+ * - Declaration exports: export function foo() {}, export const bar = ...
35
+ * - Default exports: export default ...
36
+ * - Re-exports: export { foo } from './module'
37
+ *
38
+ * Handles CommonJS exports:
39
+ * - module.exports = { foo, bar }
40
+ * - module.exports = function/class
41
+ * - exports.foo = ... / module.exports.bar = ...
42
+ */
43
+ export declare class JavaScriptExportExtractor implements LanguageExportExtractor {
44
+ extractExports(rootNode: Parser.SyntaxNode): string[];
45
+ private extractExportStatementSymbols;
46
+ private extractDeclarationExports;
47
+ private extractExportClauseSymbols;
48
+ private isModuleExports;
49
+ private extractCJSExportSymbols;
50
+ private extractModuleExportsValue;
51
+ private extractObjectExportProperties;
52
+ }
53
+ /**
54
+ * TypeScript uses the same export extraction as JavaScript
55
+ */
56
+ export declare class TypeScriptExportExtractor extends JavaScriptExportExtractor {
57
+ }
58
+ /**
59
+ * JavaScript/TypeScript import extractor
60
+ *
61
+ * Handles ES module imports:
62
+ * - Named imports: import { foo, bar } from './module'
63
+ * - Default imports: import foo from './module'
64
+ * - Namespace imports: import * as utils from './module'
65
+ * - Re-exports: export { foo } from './module'
66
+ *
67
+ * Handles CommonJS require():
68
+ * - const x = require('module')
69
+ * - const { a, b } = require('module')
70
+ * - const { a: alias } = require('module')
71
+ * - require('./side-effect')
72
+ */
73
+ export declare class JavaScriptImportExtractor implements LanguageImportExtractor {
74
+ readonly importNodeTypes: string[];
75
+ extractImportPath(node: Parser.SyntaxNode): string | null;
76
+ processImportSymbols(node: Parser.SyntaxNode): {
77
+ importPath: string;
78
+ symbols: string[];
79
+ } | null;
80
+ private processImportStatement;
81
+ private processReExportStatement;
82
+ private extractImportStatementSymbols;
83
+ private extractImportClauseSymbols;
84
+ private extractNamespaceImportSymbol;
85
+ private extractNamedImportSymbols;
86
+ /**
87
+ * Extract original symbol names from an export_clause (for re-exports).
88
+ * Uses original name (not alias) since it maps to the source module's exports.
89
+ */
90
+ private extractExportClauseSymbols;
91
+ private findRequireCall;
92
+ private getRequirePathFromCall;
93
+ private extractRequirePath;
94
+ private findRequireCallInChildren;
95
+ private processRequireDeclaration;
96
+ private extractRequireBindingSymbols;
97
+ private extractObjectPatternSymbols;
98
+ private processBareRequire;
99
+ }
100
+ /**
101
+ * TypeScript uses the same import extraction as JavaScript
102
+ */
103
+ export declare class TypeScriptImportExtractor extends JavaScriptImportExtractor {
104
+ }
105
+ /**
106
+ * JavaScript/TypeScript symbol extractor
107
+ *
108
+ * Extracts symbol info from function declarations, arrow functions,
109
+ * method definitions, class declarations, and interface declarations.
110
+ *
111
+ * Also handles call site extraction for call_expression and new_expression.
112
+ */
113
+ export declare class JavaScriptSymbolExtractor implements LanguageSymbolExtractor {
114
+ readonly symbolNodeTypes: string[];
115
+ extractSymbol(node: Parser.SyntaxNode, content: string, parentClass?: string): SymbolInfo | null;
116
+ extractCallSite(node: Parser.SyntaxNode): {
117
+ symbol: string;
118
+ line: number;
119
+ key: string;
120
+ } | null;
121
+ private resolveSymbol;
122
+ private extractFunctionInfo;
123
+ private extractArrowFunctionInfo;
124
+ private extractMethodInfo;
125
+ private extractClassInfo;
126
+ private extractInterfaceInfo;
127
+ }
128
+ /**
129
+ * TypeScript uses the same symbol extraction as JavaScript
130
+ */
131
+ export declare class TypeScriptSymbolExtractor extends JavaScriptSymbolExtractor {
132
+ }
133
+ export declare const javascriptDefinition: LanguageDefinition;
134
+ //# sourceMappingURL=javascript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/javascript.ts"],"names":[],"mappings":"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"}