driftdetect-core 0.3.0 → 0.4.1
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parsers/tree-sitter/index.d.ts +5 -0
- package/dist/parsers/tree-sitter/index.d.ts.map +1 -1
- package/dist/parsers/tree-sitter/index.js +16 -0
- package/dist/parsers/tree-sitter/index.js.map +1 -1
- package/dist/parsers/tree-sitter/java-loader.d.ts +50 -0
- package/dist/parsers/tree-sitter/java-loader.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java-loader.js +161 -0
- package/dist/parsers/tree-sitter/java-loader.js.map +1 -0
- package/dist/parsers/tree-sitter/php-loader.d.ts +50 -0
- package/dist/parsers/tree-sitter/php-loader.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/php-loader.js +164 -0
- package/dist/parsers/tree-sitter/php-loader.js.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-java-parser.d.ts +90 -0
- package/dist/parsers/tree-sitter/tree-sitter-java-parser.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-java-parser.js +298 -0
- package/dist/parsers/tree-sitter/tree-sitter-java-parser.js.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-php-parser.d.ts +177 -0
- package/dist/parsers/tree-sitter/tree-sitter-php-parser.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-php-parser.js +585 -0
- package/dist/parsers/tree-sitter/tree-sitter-php-parser.js.map +1 -0
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ export { PythonParser } from './parsers/python-parser.js';
|
|
|
21
21
|
export { CSSParser } from './parsers/css-parser.js';
|
|
22
22
|
export { JSONParser } from './parsers/json-parser.js';
|
|
23
23
|
export { MarkdownParser } from './parsers/markdown-parser.js';
|
|
24
|
-
export { TreeSitterPythonParser, TreeSitterCSharpParser, isTreeSitterAvailable, getLoadingError, isCSharpTreeSitterAvailable, getCSharpLoadingError, } from './parsers/tree-sitter/index.js';
|
|
25
|
-
export type { TreeSitterPythonParseResult, TreeSitterCSharpParseResult, CSharpUsingInfo, CSharpNamespaceInfo, CSharpAttributeInfo, CSharpParameterInfo, CSharpMethodInfo, CSharpPropertyInfo, CSharpFieldInfo, CSharpConstructorInfo, CSharpClassInfo, CSharpRecordInfo, CSharpStructInfo, CSharpInterfaceInfo, CSharpEnumInfo, } from './parsers/tree-sitter/index.js';
|
|
24
|
+
export { TreeSitterPythonParser, TreeSitterCSharpParser, TreeSitterJavaParser, TreeSitterPhpParser, isTreeSitterAvailable, getLoadingError, isCSharpTreeSitterAvailable, getCSharpLoadingError, isJavaTreeSitterAvailable, getJavaLoadingError, resetJavaLoader, isPhpTreeSitterAvailable, getPhpLoadingError, resetPhpLoader, } from './parsers/tree-sitter/index.js';
|
|
25
|
+
export type { TreeSitterPythonParseResult, TreeSitterCSharpParseResult, CSharpUsingInfo, CSharpNamespaceInfo, CSharpAttributeInfo, CSharpParameterInfo, CSharpMethodInfo, CSharpPropertyInfo, CSharpFieldInfo, CSharpConstructorInfo, CSharpClassInfo, CSharpRecordInfo, CSharpStructInfo, CSharpInterfaceInfo, CSharpEnumInfo, JavaParseResult, JavaClassInfo, JavaInterfaceInfo, JavaEnumInfo, JavaRecordInfo, JavaMethodInfo, JavaFieldInfo, JavaConstructorInfo, JavaParameterInfo, AnnotationUsage, AnnotationArgument, PackageInfo, JavaImportInfo, PhpParseResult, PhpNamespaceInfo, PhpUseStatementInfo, PhpAttributeInfo, PhpParameterInfo, PhpMethodInfo, PhpPropertyInfo, PhpClassInfo, PhpInterfaceInfo, PhpTraitInfo, PhpEnumInfo, } from './parsers/tree-sitter/index.js';
|
|
26
26
|
export { JAVA_TYPE_MAP, JAVA_COLLECTION_TYPES, JAVA_MAP_TYPES, mapJavaType, extractGenericType, isCollectionType, isMapType, isOptionalType, isWrapperType, unwrapType, } from './types/java-type-mapping.js';
|
|
27
27
|
export * from './analyzers/index.js';
|
|
28
28
|
export type { PatternMatch, PatternMatchResult, AggregatedMatchResult, Location as MatchLocation, SourceRange, MatchType, ExtendedMatchType, ConfidenceLevel, ConfidenceScore, ConfidenceWeights, ConfidenceInput, PatternDefinition, ASTMatchConfig, RegexMatchConfig, StructuralMatchConfig, PatternMetadata as MatcherPatternMetadata, OutlierInfo, OutlierType, OutlierSignificance, OutlierContext, OutlierStatistics, OutlierDetectionResult, OutlierDetectionMethod, MatcherConfig, MatcherCacheConfig, MatcherContext, MatchingResult, MatchingError, } from './matcher/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,YAAY,EACV,QAAQ,EACR,GAAG,EACH,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,IAAI,cAAc,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export { CSSParser } from './parsers/css-parser.js';
|
|
|
24
24
|
export { JSONParser } from './parsers/json-parser.js';
|
|
25
25
|
export { MarkdownParser } from './parsers/markdown-parser.js';
|
|
26
26
|
// Tree-sitter parser exports
|
|
27
|
-
export { TreeSitterPythonParser, TreeSitterCSharpParser, isTreeSitterAvailable, getLoadingError, isCSharpTreeSitterAvailable, getCSharpLoadingError, } from './parsers/tree-sitter/index.js';
|
|
27
|
+
export { TreeSitterPythonParser, TreeSitterCSharpParser, TreeSitterJavaParser, TreeSitterPhpParser, isTreeSitterAvailable, getLoadingError, isCSharpTreeSitterAvailable, getCSharpLoadingError, isJavaTreeSitterAvailable, getJavaLoadingError, resetJavaLoader, isPhpTreeSitterAvailable, getPhpLoadingError, resetPhpLoader, } from './parsers/tree-sitter/index.js';
|
|
28
28
|
// Java type mapping exports
|
|
29
29
|
export { JAVA_TYPE_MAP, JAVA_COLLECTION_TYPES, JAVA_MAP_TYPES, mapJavaType, extractGenericType, isCollectionType, isMapType, isOptionalType, isWrapperType, unwrapType, } from './types/java-type-mapping.js';
|
|
30
30
|
// Analyzer exports
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,iCAAiC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,oBAAoB,CAAC;AAWnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,iCAAiC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,oBAAoB,CAAC;AAWnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GACf,MAAM,gCAAgC,CAAC;AA6CxC,4BAA4B;AAC5B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,8BAA8B,CAAC;AAEtC,mBAAmB;AACnB,cAAc,sBAAsB,CAAC;AA6CrC,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9H,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,8CAA8C;AAC9C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKrI,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,yBAAyB,EAAE,qBAAqB,EAA6F,MAAM,sBAAsB,CAAC;AAC/M,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,sBAAsB,EAA4E,MAAM,wBAAwB,CAAC;AACpM,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,wBAAwB,EAA0J,MAAM,4BAA4B,CAAC;AAEzR,iBAAiB;AACjB,cAAc,mBAAmB,CAAC;AAElC,gDAAgD;AAChD,cAAc,qBAAqB,CAAC;AAEpC,6CAA6C;AAC7C,cAAc,qBAAqB,CAAC;AAEpC,4CAA4C;AAC5C,cAAc,gBAAgB,CAAC;AAE/B,qDAAqD;AACrD,cAAc,uBAAuB,CAAC"}
|
|
@@ -12,6 +12,11 @@ export { TreeSitterCSharpParser } from './tree-sitter-csharp-parser.js';
|
|
|
12
12
|
export type { TreeSitterCSharpParseResult, CSharpUsingInfo, CSharpNamespaceInfo, CSharpAttributeInfo, CSharpParameterInfo, CSharpMethodInfo, CSharpPropertyInfo, CSharpFieldInfo, CSharpConstructorInfo, CSharpClassInfo, CSharpRecordInfo, CSharpStructInfo, CSharpInterfaceInfo, CSharpEnumInfo, } from './tree-sitter-csharp-parser.js';
|
|
13
13
|
export { isTreeSitterAvailable, getTreeSitter, getPythonLanguage, createPythonParser, getLoadingError, } from './loader.js';
|
|
14
14
|
export { isCSharpTreeSitterAvailable, getCSharpLanguage, createCSharpParser, getCSharpLoadingError, resetCSharpLoader, } from './csharp-loader.js';
|
|
15
|
+
export { TreeSitterJavaParser } from './tree-sitter-java-parser.js';
|
|
16
|
+
export { isJavaTreeSitterAvailable, getJavaLanguage, getJavaTreeSitter, createJavaParser, getJavaLoadingError, resetJavaLoader, } from './java-loader.js';
|
|
17
|
+
export { TreeSitterPhpParser } from './tree-sitter-php-parser.js';
|
|
18
|
+
export type { PhpParseResult, PhpNamespaceInfo, PhpUseStatementInfo, PhpAttributeInfo, PhpParameterInfo, PhpMethodInfo, PhpPropertyInfo, PhpClassInfo, PhpInterfaceInfo, PhpTraitInfo, PhpEnumInfo, } from './tree-sitter-php-parser.js';
|
|
19
|
+
export { isPhpTreeSitterAvailable, getPhpLanguage, getPhpTreeSitter, createPhpParser, getPhpLoadingError, resetPhpLoader, } from './php-loader.js';
|
|
15
20
|
export type { PythonParserConfig } from './config.js';
|
|
16
21
|
export { DEFAULT_PYTHON_PARSER_CONFIG, validateConfig, mergeConfig, configFromEnv, } from './config.js';
|
|
17
22
|
export type { TreeSitterNode, TreeSitterTree, TreeSitterParser, TreeSitterLanguage, TreeSitterPoint, TreeSitterQuery, TreeSitterQueryMatch, TreeSitterQueryCapture, PydanticModelInfo, PydanticFieldInfo, PydanticValidatorInfo, PydanticConfigInfo, TypeInfo, FieldConstraints, } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,22 @@ export { isTreeSitterAvailable, getTreeSitter, getPythonLanguage, createPythonPa
|
|
|
22
22
|
// C# Loader Exports
|
|
23
23
|
// ============================================
|
|
24
24
|
export { isCSharpTreeSitterAvailable, getCSharpLanguage, createCSharpParser, getCSharpLoadingError, resetCSharpLoader, } from './csharp-loader.js';
|
|
25
|
+
// ============================================
|
|
26
|
+
// Java Parser Exports
|
|
27
|
+
// ============================================
|
|
28
|
+
export { TreeSitterJavaParser } from './tree-sitter-java-parser.js';
|
|
29
|
+
// ============================================
|
|
30
|
+
// Java Loader Exports
|
|
31
|
+
// ============================================
|
|
32
|
+
export { isJavaTreeSitterAvailable, getJavaLanguage, getJavaTreeSitter, createJavaParser, getJavaLoadingError, resetJavaLoader, } from './java-loader.js';
|
|
33
|
+
// ============================================
|
|
34
|
+
// PHP Parser Exports
|
|
35
|
+
// ============================================
|
|
36
|
+
export { TreeSitterPhpParser } from './tree-sitter-php-parser.js';
|
|
37
|
+
// ============================================
|
|
38
|
+
// PHP Loader Exports
|
|
39
|
+
// ============================================
|
|
40
|
+
export { isPhpTreeSitterAvailable, getPhpLanguage, getPhpTreeSitter, createPhpParser, getPhpLoadingError, resetPhpLoader, } from './php-loader.js';
|
|
25
41
|
export { DEFAULT_PYTHON_PARSER_CONFIG, validateConfig, mergeConfig, configFromEnv, } from './config.js';
|
|
26
42
|
// ============================================
|
|
27
43
|
// AST Converter Exports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAkBxE,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAkBxE,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAelE,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAC;AAyBrB,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG9F,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG1G,+CAA+C;AAC/C,0BAA0B;AAC1B,+CAA+C;AAE/C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAe7B,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,OAAO;AACL,uBAAuB;AACvB,kBAAkB,EAClB,2BAA2B,EAC3B,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB;AACtB,mBAAmB;AACnB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,4BAA4B;AAC5B,oBAAoB;AACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB;AAClB,YAAY;AACZ,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Java Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-java with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements Java/Spring Boot Language Support
|
|
8
|
+
*/
|
|
9
|
+
import type { TreeSitterParser, TreeSitterLanguage } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Check if tree-sitter-java is available.
|
|
12
|
+
*
|
|
13
|
+
* This function attempts to load tree-sitter and tree-sitter-java
|
|
14
|
+
* on first call and caches the result.
|
|
15
|
+
*
|
|
16
|
+
* @returns true if tree-sitter-java is available and working
|
|
17
|
+
*/
|
|
18
|
+
export declare function isJavaTreeSitterAvailable(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get the Java language for tree-sitter.
|
|
21
|
+
*
|
|
22
|
+
* @returns TreeSitter Java language
|
|
23
|
+
* @throws Error if tree-sitter-java is not available
|
|
24
|
+
*/
|
|
25
|
+
export declare function getJavaLanguage(): TreeSitterLanguage;
|
|
26
|
+
/**
|
|
27
|
+
* Get the tree-sitter Parser constructor for Java.
|
|
28
|
+
*
|
|
29
|
+
* @returns TreeSitter Parser constructor
|
|
30
|
+
* @throws Error if tree-sitter is not available
|
|
31
|
+
*/
|
|
32
|
+
export declare function getJavaTreeSitter(): new () => TreeSitterParser;
|
|
33
|
+
/**
|
|
34
|
+
* Create a new tree-sitter parser instance configured for Java.
|
|
35
|
+
*
|
|
36
|
+
* @returns Configured TreeSitter parser
|
|
37
|
+
* @throws Error if tree-sitter-java is not available
|
|
38
|
+
*/
|
|
39
|
+
export declare function createJavaParser(): TreeSitterParser;
|
|
40
|
+
/**
|
|
41
|
+
* Get the loading error message if tree-sitter-java failed to load.
|
|
42
|
+
*
|
|
43
|
+
* @returns Error message or null if no error
|
|
44
|
+
*/
|
|
45
|
+
export declare function getJavaLoadingError(): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Reset the loader state (useful for testing).
|
|
48
|
+
*/
|
|
49
|
+
export declare function resetJavaLoader(): void;
|
|
50
|
+
//# sourceMappingURL=java-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java-loader.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/java-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyBvE;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAenD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAUpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,gBAAgB,CAU9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAgBnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAInD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Java Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-java with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements Java/Spring Boot Language Support
|
|
8
|
+
*/
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
// Create require function for ESM compatibility
|
|
11
|
+
const require = createRequire(import.meta.url);
|
|
12
|
+
// ============================================
|
|
13
|
+
// Module State
|
|
14
|
+
// ============================================
|
|
15
|
+
/** Whether tree-sitter-java is available */
|
|
16
|
+
let javaAvailable = null;
|
|
17
|
+
/** Cached tree-sitter module */
|
|
18
|
+
let cachedTreeSitter = null;
|
|
19
|
+
/** Cached Java language */
|
|
20
|
+
let cachedJavaLanguage = null;
|
|
21
|
+
/** Loading error message if any */
|
|
22
|
+
let loadingError = null;
|
|
23
|
+
// ============================================
|
|
24
|
+
// Public API
|
|
25
|
+
// ============================================
|
|
26
|
+
/**
|
|
27
|
+
* Check if tree-sitter-java is available.
|
|
28
|
+
*
|
|
29
|
+
* This function attempts to load tree-sitter and tree-sitter-java
|
|
30
|
+
* on first call and caches the result.
|
|
31
|
+
*
|
|
32
|
+
* @returns true if tree-sitter-java is available and working
|
|
33
|
+
*/
|
|
34
|
+
export function isJavaTreeSitterAvailable() {
|
|
35
|
+
if (javaAvailable !== null) {
|
|
36
|
+
return javaAvailable;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
loadJavaTreeSitter();
|
|
40
|
+
javaAvailable = true;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
javaAvailable = false;
|
|
44
|
+
loadingError = error instanceof Error ? error.message : 'Unknown error loading tree-sitter-java';
|
|
45
|
+
logDebug(`tree-sitter-java not available: ${loadingError}`);
|
|
46
|
+
}
|
|
47
|
+
return javaAvailable;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the Java language for tree-sitter.
|
|
51
|
+
*
|
|
52
|
+
* @returns TreeSitter Java language
|
|
53
|
+
* @throws Error if tree-sitter-java is not available
|
|
54
|
+
*/
|
|
55
|
+
export function getJavaLanguage() {
|
|
56
|
+
if (!isJavaTreeSitterAvailable()) {
|
|
57
|
+
throw new Error(`tree-sitter-java is not available: ${loadingError ?? 'unknown error'}`);
|
|
58
|
+
}
|
|
59
|
+
if (!cachedJavaLanguage) {
|
|
60
|
+
throw new Error('tree-sitter-java language not loaded');
|
|
61
|
+
}
|
|
62
|
+
return cachedJavaLanguage;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get the tree-sitter Parser constructor for Java.
|
|
66
|
+
*
|
|
67
|
+
* @returns TreeSitter Parser constructor
|
|
68
|
+
* @throws Error if tree-sitter is not available
|
|
69
|
+
*/
|
|
70
|
+
export function getJavaTreeSitter() {
|
|
71
|
+
if (!isJavaTreeSitterAvailable()) {
|
|
72
|
+
throw new Error(`tree-sitter-java is not available: ${loadingError ?? 'unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
if (!cachedTreeSitter) {
|
|
75
|
+
throw new Error('tree-sitter module not loaded');
|
|
76
|
+
}
|
|
77
|
+
return cachedTreeSitter;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create a new tree-sitter parser instance configured for Java.
|
|
81
|
+
*
|
|
82
|
+
* @returns Configured TreeSitter parser
|
|
83
|
+
* @throws Error if tree-sitter-java is not available
|
|
84
|
+
*/
|
|
85
|
+
export function createJavaParser() {
|
|
86
|
+
if (!isJavaTreeSitterAvailable()) {
|
|
87
|
+
throw new Error(`tree-sitter-java is not available: ${loadingError ?? 'unknown error'}`);
|
|
88
|
+
}
|
|
89
|
+
if (!cachedTreeSitter) {
|
|
90
|
+
throw new Error('tree-sitter module not loaded');
|
|
91
|
+
}
|
|
92
|
+
const Parser = cachedTreeSitter;
|
|
93
|
+
const language = getJavaLanguage();
|
|
94
|
+
const parser = new Parser();
|
|
95
|
+
parser.setLanguage(language);
|
|
96
|
+
return parser;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get the loading error message if tree-sitter-java failed to load.
|
|
100
|
+
*
|
|
101
|
+
* @returns Error message or null if no error
|
|
102
|
+
*/
|
|
103
|
+
export function getJavaLoadingError() {
|
|
104
|
+
// Ensure we've attempted to load
|
|
105
|
+
isJavaTreeSitterAvailable();
|
|
106
|
+
return loadingError;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Reset the loader state (useful for testing).
|
|
110
|
+
*/
|
|
111
|
+
export function resetJavaLoader() {
|
|
112
|
+
javaAvailable = null;
|
|
113
|
+
cachedTreeSitter = null;
|
|
114
|
+
cachedJavaLanguage = null;
|
|
115
|
+
loadingError = null;
|
|
116
|
+
}
|
|
117
|
+
// ============================================
|
|
118
|
+
// Internal Functions
|
|
119
|
+
// ============================================
|
|
120
|
+
/**
|
|
121
|
+
* Attempt to load tree-sitter and tree-sitter-java.
|
|
122
|
+
*
|
|
123
|
+
* @throws Error if loading fails
|
|
124
|
+
*/
|
|
125
|
+
function loadJavaTreeSitter() {
|
|
126
|
+
// Skip if already loaded
|
|
127
|
+
if (cachedTreeSitter && cachedJavaLanguage) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
// Dynamic require for optional dependencies
|
|
132
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
133
|
+
cachedTreeSitter = require('tree-sitter');
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
throw new Error(`Failed to load tree-sitter: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
137
|
+
'Install with: pnpm add tree-sitter tree-sitter-java');
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
141
|
+
cachedJavaLanguage = require('tree-sitter-java');
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
// Clear tree-sitter cache since we can't use it without Java
|
|
145
|
+
cachedTreeSitter = null;
|
|
146
|
+
throw new Error(`Failed to load tree-sitter-java: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
147
|
+
'Install with: pnpm add tree-sitter-java');
|
|
148
|
+
}
|
|
149
|
+
logDebug('tree-sitter and tree-sitter-java loaded successfully');
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Log debug message if debug mode is enabled.
|
|
153
|
+
*
|
|
154
|
+
* @param message - Message to log
|
|
155
|
+
*/
|
|
156
|
+
function logDebug(message) {
|
|
157
|
+
if (process.env['DRIFT_PARSER_DEBUG'] === 'true') {
|
|
158
|
+
console.debug(`[java-loader] ${message}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=java-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java-loader.js","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/java-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter PHP Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-php with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements PHP/Laravel Language Support
|
|
8
|
+
*/
|
|
9
|
+
import type { TreeSitterParser, TreeSitterLanguage } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Check if tree-sitter-php is available.
|
|
12
|
+
*
|
|
13
|
+
* This function attempts to load tree-sitter and tree-sitter-php
|
|
14
|
+
* on first call and caches the result.
|
|
15
|
+
*
|
|
16
|
+
* @returns true if tree-sitter-php is available and working
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPhpTreeSitterAvailable(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get the PHP language for tree-sitter.
|
|
21
|
+
*
|
|
22
|
+
* @returns TreeSitter PHP language
|
|
23
|
+
* @throws Error if tree-sitter-php is not available
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPhpLanguage(): TreeSitterLanguage;
|
|
26
|
+
/**
|
|
27
|
+
* Get the tree-sitter Parser constructor for PHP.
|
|
28
|
+
*
|
|
29
|
+
* @returns TreeSitter Parser constructor
|
|
30
|
+
* @throws Error if tree-sitter is not available
|
|
31
|
+
*/
|
|
32
|
+
export declare function getPhpTreeSitter(): new () => TreeSitterParser;
|
|
33
|
+
/**
|
|
34
|
+
* Create a new tree-sitter parser instance configured for PHP.
|
|
35
|
+
*
|
|
36
|
+
* @returns Configured TreeSitter parser
|
|
37
|
+
* @throws Error if tree-sitter-php is not available
|
|
38
|
+
*/
|
|
39
|
+
export declare function createPhpParser(): TreeSitterParser;
|
|
40
|
+
/**
|
|
41
|
+
* Get the loading error message if tree-sitter-php failed to load.
|
|
42
|
+
*
|
|
43
|
+
* @returns Error message or null if no error
|
|
44
|
+
*/
|
|
45
|
+
export declare function getPhpLoadingError(): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Reset the loader state (useful for testing).
|
|
48
|
+
*/
|
|
49
|
+
export declare function resetPhpLoader(): void;
|
|
50
|
+
//# sourceMappingURL=php-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"php-loader.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/php-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyBvE;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAelD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CAUnD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,gBAAgB,CAU7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,CAgBlD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAIlD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter PHP Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-php with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements PHP/Laravel Language Support
|
|
8
|
+
*/
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
// Create require function for ESM compatibility
|
|
11
|
+
const require = createRequire(import.meta.url);
|
|
12
|
+
// ============================================
|
|
13
|
+
// Module State
|
|
14
|
+
// ============================================
|
|
15
|
+
/** Whether tree-sitter-php is available */
|
|
16
|
+
let phpAvailable = null;
|
|
17
|
+
/** Cached tree-sitter module */
|
|
18
|
+
let cachedTreeSitter = null;
|
|
19
|
+
/** Cached PHP language */
|
|
20
|
+
let cachedPhpLanguage = null;
|
|
21
|
+
/** Loading error message if any */
|
|
22
|
+
let loadingError = null;
|
|
23
|
+
// ============================================
|
|
24
|
+
// Public API
|
|
25
|
+
// ============================================
|
|
26
|
+
/**
|
|
27
|
+
* Check if tree-sitter-php is available.
|
|
28
|
+
*
|
|
29
|
+
* This function attempts to load tree-sitter and tree-sitter-php
|
|
30
|
+
* on first call and caches the result.
|
|
31
|
+
*
|
|
32
|
+
* @returns true if tree-sitter-php is available and working
|
|
33
|
+
*/
|
|
34
|
+
export function isPhpTreeSitterAvailable() {
|
|
35
|
+
if (phpAvailable !== null) {
|
|
36
|
+
return phpAvailable;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
loadPhpTreeSitter();
|
|
40
|
+
phpAvailable = true;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
phpAvailable = false;
|
|
44
|
+
loadingError = error instanceof Error ? error.message : 'Unknown error loading tree-sitter-php';
|
|
45
|
+
logDebug(`tree-sitter-php not available: ${loadingError}`);
|
|
46
|
+
}
|
|
47
|
+
return phpAvailable;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the PHP language for tree-sitter.
|
|
51
|
+
*
|
|
52
|
+
* @returns TreeSitter PHP language
|
|
53
|
+
* @throws Error if tree-sitter-php is not available
|
|
54
|
+
*/
|
|
55
|
+
export function getPhpLanguage() {
|
|
56
|
+
if (!isPhpTreeSitterAvailable()) {
|
|
57
|
+
throw new Error(`tree-sitter-php is not available: ${loadingError ?? 'unknown error'}`);
|
|
58
|
+
}
|
|
59
|
+
if (!cachedPhpLanguage) {
|
|
60
|
+
throw new Error('tree-sitter-php language not loaded');
|
|
61
|
+
}
|
|
62
|
+
return cachedPhpLanguage;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get the tree-sitter Parser constructor for PHP.
|
|
66
|
+
*
|
|
67
|
+
* @returns TreeSitter Parser constructor
|
|
68
|
+
* @throws Error if tree-sitter is not available
|
|
69
|
+
*/
|
|
70
|
+
export function getPhpTreeSitter() {
|
|
71
|
+
if (!isPhpTreeSitterAvailable()) {
|
|
72
|
+
throw new Error(`tree-sitter-php is not available: ${loadingError ?? 'unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
if (!cachedTreeSitter) {
|
|
75
|
+
throw new Error('tree-sitter module not loaded');
|
|
76
|
+
}
|
|
77
|
+
return cachedTreeSitter;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create a new tree-sitter parser instance configured for PHP.
|
|
81
|
+
*
|
|
82
|
+
* @returns Configured TreeSitter parser
|
|
83
|
+
* @throws Error if tree-sitter-php is not available
|
|
84
|
+
*/
|
|
85
|
+
export function createPhpParser() {
|
|
86
|
+
if (!isPhpTreeSitterAvailable()) {
|
|
87
|
+
throw new Error(`tree-sitter-php is not available: ${loadingError ?? 'unknown error'}`);
|
|
88
|
+
}
|
|
89
|
+
if (!cachedTreeSitter) {
|
|
90
|
+
throw new Error('tree-sitter module not loaded');
|
|
91
|
+
}
|
|
92
|
+
const Parser = cachedTreeSitter;
|
|
93
|
+
const language = getPhpLanguage();
|
|
94
|
+
const parser = new Parser();
|
|
95
|
+
parser.setLanguage(language);
|
|
96
|
+
return parser;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get the loading error message if tree-sitter-php failed to load.
|
|
100
|
+
*
|
|
101
|
+
* @returns Error message or null if no error
|
|
102
|
+
*/
|
|
103
|
+
export function getPhpLoadingError() {
|
|
104
|
+
// Ensure we've attempted to load
|
|
105
|
+
isPhpTreeSitterAvailable();
|
|
106
|
+
return loadingError;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Reset the loader state (useful for testing).
|
|
110
|
+
*/
|
|
111
|
+
export function resetPhpLoader() {
|
|
112
|
+
phpAvailable = null;
|
|
113
|
+
cachedTreeSitter = null;
|
|
114
|
+
cachedPhpLanguage = null;
|
|
115
|
+
loadingError = null;
|
|
116
|
+
}
|
|
117
|
+
// ============================================
|
|
118
|
+
// Internal Functions
|
|
119
|
+
// ============================================
|
|
120
|
+
/**
|
|
121
|
+
* Attempt to load tree-sitter and tree-sitter-php.
|
|
122
|
+
*
|
|
123
|
+
* @throws Error if loading fails
|
|
124
|
+
*/
|
|
125
|
+
function loadPhpTreeSitter() {
|
|
126
|
+
// Skip if already loaded
|
|
127
|
+
if (cachedTreeSitter && cachedPhpLanguage) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
// Dynamic require for optional dependencies
|
|
132
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
133
|
+
cachedTreeSitter = require('tree-sitter');
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
throw new Error(`Failed to load tree-sitter: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
137
|
+
'Install with: pnpm add tree-sitter tree-sitter-php');
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
// tree-sitter-php exports an object with php and php_only languages
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
142
|
+
const phpModule = require('tree-sitter-php');
|
|
143
|
+
// Use the 'php' language which includes HTML support
|
|
144
|
+
cachedPhpLanguage = phpModule.php ?? phpModule;
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
// Clear tree-sitter cache since we can't use it without PHP
|
|
148
|
+
cachedTreeSitter = null;
|
|
149
|
+
throw new Error(`Failed to load tree-sitter-php: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
150
|
+
'Install with: pnpm add tree-sitter-php');
|
|
151
|
+
}
|
|
152
|
+
logDebug('tree-sitter and tree-sitter-php loaded successfully');
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Log debug message if debug mode is enabled.
|
|
156
|
+
*
|
|
157
|
+
* @param message - Message to log
|
|
158
|
+
*/
|
|
159
|
+
function logDebug(message) {
|
|
160
|
+
if (process.env['DRIFT_PARSER_DEBUG'] === 'true') {
|
|
161
|
+
console.debug(`[php-loader] ${message}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=php-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"php-loader.js","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/php-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Java Parser
|
|
3
|
+
*
|
|
4
|
+
* Full Java parser using tree-sitter-java for semantic extraction.
|
|
5
|
+
* Extracts packages, imports, classes, interfaces, enums, records,
|
|
6
|
+
* methods, fields, and annotations from Java source files.
|
|
7
|
+
*
|
|
8
|
+
* Annotations are FIRST-CLASS CITIZENS - they're the primary signal
|
|
9
|
+
* for Spring pattern detection.
|
|
10
|
+
*
|
|
11
|
+
* @requirements Java/Spring Boot Language Support
|
|
12
|
+
*/
|
|
13
|
+
import type { JavaParseResult } from './java/types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Java parser using tree-sitter-java.
|
|
16
|
+
*
|
|
17
|
+
* Provides full semantic extraction for Java source files including:
|
|
18
|
+
* - Package declarations
|
|
19
|
+
* - Import statements
|
|
20
|
+
* - Class, interface, enum, and record declarations
|
|
21
|
+
* - Method and field declarations with annotations
|
|
22
|
+
* - Annotation definitions (@interface)
|
|
23
|
+
*/
|
|
24
|
+
export declare class TreeSitterJavaParser {
|
|
25
|
+
private parser;
|
|
26
|
+
private initError;
|
|
27
|
+
/**
|
|
28
|
+
* Check if the parser is available.
|
|
29
|
+
*/
|
|
30
|
+
isAvailable(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Get the initialization error if parser is not available.
|
|
33
|
+
*/
|
|
34
|
+
getError(): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Initialize the parser.
|
|
37
|
+
* Call this before parsing or check isAvailable() first.
|
|
38
|
+
*/
|
|
39
|
+
initialize(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Parse Java source code and extract semantic information.
|
|
42
|
+
*
|
|
43
|
+
* @param source - Java source code
|
|
44
|
+
* @param filePath - Optional file path for error reporting
|
|
45
|
+
* @returns JavaParseResult with full semantic information
|
|
46
|
+
*/
|
|
47
|
+
parse(source: string, filePath?: string): JavaParseResult;
|
|
48
|
+
/**
|
|
49
|
+
* Extract package declaration from the AST.
|
|
50
|
+
*/
|
|
51
|
+
private extractPackage;
|
|
52
|
+
/**
|
|
53
|
+
* Extract import statements from the AST.
|
|
54
|
+
*/
|
|
55
|
+
private extractImports;
|
|
56
|
+
/**
|
|
57
|
+
* Parse a single import declaration.
|
|
58
|
+
*/
|
|
59
|
+
private parseImport;
|
|
60
|
+
/**
|
|
61
|
+
* Convert tree-sitter AST to drift AST format.
|
|
62
|
+
*/
|
|
63
|
+
private convertToAST;
|
|
64
|
+
/**
|
|
65
|
+
* Convert a single tree-sitter node to drift ASTNode.
|
|
66
|
+
*/
|
|
67
|
+
private convertNode;
|
|
68
|
+
/**
|
|
69
|
+
* Map tree-sitter node types to drift node types.
|
|
70
|
+
*/
|
|
71
|
+
private mapNodeType;
|
|
72
|
+
/**
|
|
73
|
+
* Convert tree-sitter position to drift Position.
|
|
74
|
+
*/
|
|
75
|
+
private toPosition;
|
|
76
|
+
/**
|
|
77
|
+
* Find a child node by type.
|
|
78
|
+
*/
|
|
79
|
+
private findChildByType;
|
|
80
|
+
/**
|
|
81
|
+
* Find all nodes of a specific type in the tree.
|
|
82
|
+
*/
|
|
83
|
+
private findNodesOfType;
|
|
84
|
+
/**
|
|
85
|
+
* Create an error result.
|
|
86
|
+
*/
|
|
87
|
+
private createErrorResult;
|
|
88
|
+
}
|
|
89
|
+
export type { JavaParseResult };
|
|
90
|
+
//# sourceMappingURL=tree-sitter-java-parser.d.ts.map
|