driftdetect-core 0.1.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/boundaries/boundary-store.d.ts +92 -0
- package/dist/boundaries/boundary-store.d.ts.map +1 -0
- package/dist/boundaries/boundary-store.js +458 -0
- package/dist/boundaries/boundary-store.js.map +1 -0
- package/dist/boundaries/index.d.ts +8 -0
- package/dist/boundaries/index.d.ts.map +1 -0
- package/dist/boundaries/index.js +8 -0
- package/dist/boundaries/index.js.map +1 -0
- package/dist/boundaries/types.d.ts +237 -0
- package/dist/boundaries/types.d.ts.map +1 -0
- package/dist/boundaries/types.js +8 -0
- package/dist/boundaries/types.js.map +1 -0
- package/dist/dna/ai-context.d.ts +10 -0
- package/dist/dna/ai-context.d.ts.map +1 -0
- package/dist/dna/ai-context.js +46 -0
- package/dist/dna/ai-context.js.map +1 -0
- package/dist/dna/dna-analyzer.d.ts +34 -0
- package/dist/dna/dna-analyzer.d.ts.map +1 -0
- package/dist/dna/dna-analyzer.js +110 -0
- package/dist/dna/dna-analyzer.js.map +1 -0
- package/dist/dna/dna-store.d.ts +13 -0
- package/dist/dna/dna-store.d.ts.map +1 -0
- package/dist/dna/dna-store.js +43 -0
- package/dist/dna/dna-store.js.map +1 -0
- package/dist/dna/gene-extractors/animation-approach.d.ts +15 -0
- package/dist/dna/gene-extractors/animation-approach.d.ts.map +1 -0
- package/dist/dna/gene-extractors/animation-approach.js +97 -0
- package/dist/dna/gene-extractors/animation-approach.js.map +1 -0
- package/dist/dna/gene-extractors/base-extractor.d.ts +53 -0
- package/dist/dna/gene-extractors/base-extractor.d.ts.map +1 -0
- package/dist/dna/gene-extractors/base-extractor.js +76 -0
- package/dist/dna/gene-extractors/base-extractor.js.map +1 -0
- package/dist/dna/gene-extractors/index.d.ts +16 -0
- package/dist/dna/gene-extractors/index.d.ts.map +1 -0
- package/dist/dna/gene-extractors/index.js +38 -0
- package/dist/dna/gene-extractors/index.js.map +1 -0
- package/dist/dna/gene-extractors/responsive-approach.d.ts +10 -0
- package/dist/dna/gene-extractors/responsive-approach.d.ts.map +1 -0
- package/dist/dna/gene-extractors/responsive-approach.js +30 -0
- package/dist/dna/gene-extractors/responsive-approach.js.map +1 -0
- package/dist/dna/gene-extractors/spacing-philosophy.d.ts +10 -0
- package/dist/dna/gene-extractors/spacing-philosophy.d.ts.map +1 -0
- package/dist/dna/gene-extractors/spacing-philosophy.js +30 -0
- package/dist/dna/gene-extractors/spacing-philosophy.js.map +1 -0
- package/dist/dna/gene-extractors/state-styling.d.ts +10 -0
- package/dist/dna/gene-extractors/state-styling.d.ts.map +1 -0
- package/dist/dna/gene-extractors/state-styling.js +29 -0
- package/dist/dna/gene-extractors/state-styling.js.map +1 -0
- package/dist/dna/gene-extractors/theming.d.ts +10 -0
- package/dist/dna/gene-extractors/theming.d.ts.map +1 -0
- package/dist/dna/gene-extractors/theming.js +30 -0
- package/dist/dna/gene-extractors/theming.js.map +1 -0
- package/dist/dna/gene-extractors/variant-handling.d.ts +13 -0
- package/dist/dna/gene-extractors/variant-handling.d.ts.map +1 -0
- package/dist/dna/gene-extractors/variant-handling.js +38 -0
- package/dist/dna/gene-extractors/variant-handling.js.map +1 -0
- package/dist/dna/health-calculator.d.ts +21 -0
- package/dist/dna/health-calculator.d.ts.map +1 -0
- package/dist/dna/health-calculator.js +113 -0
- package/dist/dna/health-calculator.js.map +1 -0
- package/dist/dna/index.d.ts +21 -0
- package/dist/dna/index.d.ts.map +1 -0
- package/dist/dna/index.js +19 -0
- package/dist/dna/index.js.map +1 -0
- package/dist/dna/mutation-detector.d.ts +10 -0
- package/dist/dna/mutation-detector.d.ts.map +1 -0
- package/dist/dna/mutation-detector.js +39 -0
- package/dist/dna/mutation-detector.js.map +1 -0
- package/dist/dna/playbook-generator.d.ts +6 -0
- package/dist/dna/playbook-generator.d.ts.map +1 -0
- package/dist/dna/playbook-generator.js +53 -0
- package/dist/dna/playbook-generator.js.map +1 -0
- package/dist/dna/types.d.ts +95 -0
- package/dist/dna/types.d.ts.map +1 -0
- package/dist/dna/types.js +8 -0
- package/dist/dna/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/parsers/parser-manager.d.ts.map +1 -1
- package/dist/parsers/parser-manager.js +2 -0
- package/dist/parsers/parser-manager.js.map +1 -1
- package/dist/parsers/tree-sitter/config.d.ts +82 -0
- package/dist/parsers/tree-sitter/config.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/config.js +200 -0
- package/dist/parsers/tree-sitter/config.js.map +1 -0
- package/dist/parsers/tree-sitter/csharp-ast-converter.d.ts +64 -0
- package/dist/parsers/tree-sitter/csharp-ast-converter.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/csharp-ast-converter.js +271 -0
- package/dist/parsers/tree-sitter/csharp-ast-converter.js.map +1 -0
- package/dist/parsers/tree-sitter/csharp-loader.d.ts +43 -0
- package/dist/parsers/tree-sitter/csharp-loader.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/csharp-loader.js +146 -0
- package/dist/parsers/tree-sitter/csharp-loader.js.map +1 -0
- package/dist/parsers/tree-sitter/index.d.ts +26 -0
- package/dist/parsers/tree-sitter/index.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/index.js +47 -0
- package/dist/parsers/tree-sitter/index.js.map +1 -0
- package/dist/parsers/tree-sitter/java/annotation-extractor.d.ts +79 -0
- package/dist/parsers/tree-sitter/java/annotation-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java/annotation-extractor.js +540 -0
- package/dist/parsers/tree-sitter/java/annotation-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/java/class-extractor.d.ts +40 -0
- package/dist/parsers/tree-sitter/java/class-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java/class-extractor.js +770 -0
- package/dist/parsers/tree-sitter/java/class-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/java/index.d.ts +14 -0
- package/dist/parsers/tree-sitter/java/index.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java/index.js +25 -0
- package/dist/parsers/tree-sitter/java/index.js.map +1 -0
- package/dist/parsers/tree-sitter/java/method-extractor.d.ts +88 -0
- package/dist/parsers/tree-sitter/java/method-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java/method-extractor.js +551 -0
- package/dist/parsers/tree-sitter/java/method-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/java/types.d.ts +545 -0
- package/dist/parsers/tree-sitter/java/types.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/java/types.js +81 -0
- package/dist/parsers/tree-sitter/java/types.js.map +1 -0
- package/dist/parsers/tree-sitter/loader.d.ts +50 -0
- package/dist/parsers/tree-sitter/loader.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/loader.js +156 -0
- package/dist/parsers/tree-sitter/loader.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/config-extractor.d.ts +78 -0
- package/dist/parsers/tree-sitter/pydantic/config-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/config-extractor.js +278 -0
- package/dist/parsers/tree-sitter/pydantic/config-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/constraint-parser.d.ts +84 -0
- package/dist/parsers/tree-sitter/pydantic/constraint-parser.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/constraint-parser.js +321 -0
- package/dist/parsers/tree-sitter/pydantic/constraint-parser.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/field-extractor.d.ts +74 -0
- package/dist/parsers/tree-sitter/pydantic/field-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/field-extractor.js +285 -0
- package/dist/parsers/tree-sitter/pydantic/field-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/index.d.ts +18 -0
- package/dist/parsers/tree-sitter/pydantic/index.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/index.js +23 -0
- package/dist/parsers/tree-sitter/pydantic/index.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/inheritance-resolver.d.ts +70 -0
- package/dist/parsers/tree-sitter/pydantic/inheritance-resolver.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/inheritance-resolver.js +251 -0
- package/dist/parsers/tree-sitter/pydantic/inheritance-resolver.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/pydantic-extractor.d.ts +102 -0
- package/dist/parsers/tree-sitter/pydantic/pydantic-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/pydantic-extractor.js +399 -0
- package/dist/parsers/tree-sitter/pydantic/pydantic-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/type-resolver.d.ts +89 -0
- package/dist/parsers/tree-sitter/pydantic/type-resolver.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/type-resolver.js +426 -0
- package/dist/parsers/tree-sitter/pydantic/type-resolver.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/types.d.ts +177 -0
- package/dist/parsers/tree-sitter/pydantic/types.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/types.js +139 -0
- package/dist/parsers/tree-sitter/pydantic/types.js.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/validator-extractor.d.ts +88 -0
- package/dist/parsers/tree-sitter/pydantic/validator-extractor.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/pydantic/validator-extractor.js +315 -0
- package/dist/parsers/tree-sitter/pydantic/validator-extractor.js.map +1 -0
- package/dist/parsers/tree-sitter/python-ast-converter.d.ts +140 -0
- package/dist/parsers/tree-sitter/python-ast-converter.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/python-ast-converter.js +360 -0
- package/dist/parsers/tree-sitter/python-ast-converter.js.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-csharp-parser.d.ts +465 -0
- package/dist/parsers/tree-sitter/tree-sitter-csharp-parser.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-csharp-parser.js +1146 -0
- package/dist/parsers/tree-sitter/tree-sitter-csharp-parser.js.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-python-parser.d.ts +86 -0
- package/dist/parsers/tree-sitter/tree-sitter-python-parser.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/tree-sitter-python-parser.js +177 -0
- package/dist/parsers/tree-sitter/tree-sitter-python-parser.js.map +1 -0
- package/dist/parsers/tree-sitter/types.d.ts +399 -0
- package/dist/parsers/tree-sitter/types.d.ts.map +1 -0
- package/dist/parsers/tree-sitter/types.js +20 -0
- package/dist/parsers/tree-sitter/types.js.map +1 -0
- package/dist/parsers/types.d.ts +1 -1
- package/dist/parsers/types.d.ts.map +1 -1
- package/dist/scanner/file-walker.d.ts.map +1 -1
- package/dist/scanner/file-walker.js +5 -0
- package/dist/scanner/file-walker.js.map +1 -1
- package/dist/store/history-store.d.ts +85 -269
- package/dist/store/history-store.d.ts.map +1 -1
- package/dist/store/history-store.js +272 -624
- package/dist/store/history-store.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/java-type-mapping.d.ts +79 -0
- package/dist/types/java-type-mapping.d.ts.map +1 -0
- package/dist/types/java-type-mapping.js +290 -0
- package/dist/types/java-type-mapping.js.map +1 -0
- package/package.json +7 -2
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter C# Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-c-sharp with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 3.5 - Unified AST query interface
|
|
8
|
+
*/
|
|
9
|
+
import type { TreeSitterParser, TreeSitterLanguage } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Check if tree-sitter-c-sharp is available.
|
|
12
|
+
*
|
|
13
|
+
* This function attempts to load tree-sitter and tree-sitter-c-sharp
|
|
14
|
+
* on first call and caches the result.
|
|
15
|
+
*
|
|
16
|
+
* @returns true if tree-sitter-c-sharp is available and working
|
|
17
|
+
*/
|
|
18
|
+
export declare function isCSharpTreeSitterAvailable(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get the C# language for tree-sitter.
|
|
21
|
+
*
|
|
22
|
+
* @returns TreeSitter C# language
|
|
23
|
+
* @throws Error if tree-sitter-c-sharp is not available
|
|
24
|
+
*/
|
|
25
|
+
export declare function getCSharpLanguage(): TreeSitterLanguage;
|
|
26
|
+
/**
|
|
27
|
+
* Create a new tree-sitter parser instance configured for C#.
|
|
28
|
+
*
|
|
29
|
+
* @returns Configured TreeSitter parser
|
|
30
|
+
* @throws Error if tree-sitter-c-sharp is not available
|
|
31
|
+
*/
|
|
32
|
+
export declare function createCSharpParser(): TreeSitterParser;
|
|
33
|
+
/**
|
|
34
|
+
* Get the loading error message if tree-sitter-c-sharp failed to load.
|
|
35
|
+
*
|
|
36
|
+
* @returns Error message or null if no error
|
|
37
|
+
*/
|
|
38
|
+
export declare function getCSharpLoadingError(): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Reset the loader state (useful for testing).
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetCSharpLoader(): void;
|
|
43
|
+
//# sourceMappingURL=csharp-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp-loader.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/csharp-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyBvE;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAerD;AAGD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CAUtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,gBAAgB,CAgBrD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter C# Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading tree-sitter and tree-sitter-c-sharp with graceful fallback.
|
|
5
|
+
* Provides functions to check availability and access the parser/language.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 3.5 - Unified AST query interface
|
|
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-c-sharp is available */
|
|
16
|
+
let csharpAvailable = null;
|
|
17
|
+
/** Cached tree-sitter module */
|
|
18
|
+
let cachedTreeSitter = null;
|
|
19
|
+
/** Cached C# language */
|
|
20
|
+
let cachedCSharpLanguage = null;
|
|
21
|
+
/** Loading error message if any */
|
|
22
|
+
let loadingError = null;
|
|
23
|
+
// ============================================
|
|
24
|
+
// Public API
|
|
25
|
+
// ============================================
|
|
26
|
+
/**
|
|
27
|
+
* Check if tree-sitter-c-sharp is available.
|
|
28
|
+
*
|
|
29
|
+
* This function attempts to load tree-sitter and tree-sitter-c-sharp
|
|
30
|
+
* on first call and caches the result.
|
|
31
|
+
*
|
|
32
|
+
* @returns true if tree-sitter-c-sharp is available and working
|
|
33
|
+
*/
|
|
34
|
+
export function isCSharpTreeSitterAvailable() {
|
|
35
|
+
if (csharpAvailable !== null) {
|
|
36
|
+
return csharpAvailable;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
loadCSharpTreeSitter();
|
|
40
|
+
csharpAvailable = true;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
csharpAvailable = false;
|
|
44
|
+
loadingError = error instanceof Error ? error.message : 'Unknown error loading tree-sitter-c-sharp';
|
|
45
|
+
logDebug(`tree-sitter-c-sharp not available: ${loadingError}`);
|
|
46
|
+
}
|
|
47
|
+
return csharpAvailable;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the C# language for tree-sitter.
|
|
51
|
+
*
|
|
52
|
+
* @returns TreeSitter C# language
|
|
53
|
+
* @throws Error if tree-sitter-c-sharp is not available
|
|
54
|
+
*/
|
|
55
|
+
export function getCSharpLanguage() {
|
|
56
|
+
if (!isCSharpTreeSitterAvailable()) {
|
|
57
|
+
throw new Error(`tree-sitter-c-sharp is not available: ${loadingError ?? 'unknown error'}`);
|
|
58
|
+
}
|
|
59
|
+
if (!cachedCSharpLanguage) {
|
|
60
|
+
throw new Error('tree-sitter-c-sharp language not loaded');
|
|
61
|
+
}
|
|
62
|
+
return cachedCSharpLanguage;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create a new tree-sitter parser instance configured for C#.
|
|
66
|
+
*
|
|
67
|
+
* @returns Configured TreeSitter parser
|
|
68
|
+
* @throws Error if tree-sitter-c-sharp is not available
|
|
69
|
+
*/
|
|
70
|
+
export function createCSharpParser() {
|
|
71
|
+
if (!isCSharpTreeSitterAvailable()) {
|
|
72
|
+
throw new Error(`tree-sitter-c-sharp is not available: ${loadingError ?? 'unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
if (!cachedTreeSitter) {
|
|
75
|
+
throw new Error('tree-sitter module not loaded');
|
|
76
|
+
}
|
|
77
|
+
const Parser = cachedTreeSitter;
|
|
78
|
+
const language = getCSharpLanguage();
|
|
79
|
+
const parser = new Parser();
|
|
80
|
+
parser.setLanguage(language);
|
|
81
|
+
return parser;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the loading error message if tree-sitter-c-sharp failed to load.
|
|
85
|
+
*
|
|
86
|
+
* @returns Error message or null if no error
|
|
87
|
+
*/
|
|
88
|
+
export function getCSharpLoadingError() {
|
|
89
|
+
// Ensure we've attempted to load
|
|
90
|
+
isCSharpTreeSitterAvailable();
|
|
91
|
+
return loadingError;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Reset the loader state (useful for testing).
|
|
95
|
+
*/
|
|
96
|
+
export function resetCSharpLoader() {
|
|
97
|
+
csharpAvailable = null;
|
|
98
|
+
cachedTreeSitter = null;
|
|
99
|
+
cachedCSharpLanguage = null;
|
|
100
|
+
loadingError = null;
|
|
101
|
+
}
|
|
102
|
+
// ============================================
|
|
103
|
+
// Internal Functions
|
|
104
|
+
// ============================================
|
|
105
|
+
/**
|
|
106
|
+
* Attempt to load tree-sitter and tree-sitter-c-sharp.
|
|
107
|
+
*
|
|
108
|
+
* @throws Error if loading fails
|
|
109
|
+
*/
|
|
110
|
+
function loadCSharpTreeSitter() {
|
|
111
|
+
// Skip if already loaded
|
|
112
|
+
if (cachedTreeSitter && cachedCSharpLanguage) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
// Dynamic require for optional dependencies
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
118
|
+
cachedTreeSitter = require('tree-sitter');
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
throw new Error(`Failed to load tree-sitter: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
122
|
+
'Install with: pnpm add tree-sitter tree-sitter-c-sharp');
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
126
|
+
cachedCSharpLanguage = require('tree-sitter-c-sharp');
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
// Clear tree-sitter cache since we can't use it without C#
|
|
130
|
+
cachedTreeSitter = null;
|
|
131
|
+
throw new Error(`Failed to load tree-sitter-c-sharp: ${error instanceof Error ? error.message : 'unknown error'}. ` +
|
|
132
|
+
'Install with: pnpm add tree-sitter-c-sharp');
|
|
133
|
+
}
|
|
134
|
+
logDebug('tree-sitter and tree-sitter-c-sharp loaded successfully');
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Log debug message if debug mode is enabled.
|
|
138
|
+
*
|
|
139
|
+
* @param message - Message to log
|
|
140
|
+
*/
|
|
141
|
+
function logDebug(message) {
|
|
142
|
+
if (process.env['DRIFT_PARSER_DEBUG'] === 'true') {
|
|
143
|
+
console.debug(`[csharp-loader] ${message}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=csharp-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp-loader.js","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/csharp-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Parser Module
|
|
3
|
+
*
|
|
4
|
+
* Public exports for tree-sitter parser integrations.
|
|
5
|
+
* Provides AST parsing for Python (with Pydantic support) and C# (with ASP.NET support).
|
|
6
|
+
*
|
|
7
|
+
* @requirements 3.5 - Unified AST query interface
|
|
8
|
+
*/
|
|
9
|
+
export { TreeSitterPythonParser } from './tree-sitter-python-parser.js';
|
|
10
|
+
export type { TreeSitterPythonParseResult } from './tree-sitter-python-parser.js';
|
|
11
|
+
export { TreeSitterCSharpParser } from './tree-sitter-csharp-parser.js';
|
|
12
|
+
export type { TreeSitterCSharpParseResult, CSharpUsingInfo, CSharpNamespaceInfo, CSharpAttributeInfo, CSharpParameterInfo, CSharpMethodInfo, CSharpPropertyInfo, CSharpFieldInfo, CSharpConstructorInfo, CSharpClassInfo, CSharpRecordInfo, CSharpStructInfo, CSharpInterfaceInfo, CSharpEnumInfo, } from './tree-sitter-csharp-parser.js';
|
|
13
|
+
export { isTreeSitterAvailable, getTreeSitter, getPythonLanguage, createPythonParser, getLoadingError, } from './loader.js';
|
|
14
|
+
export { isCSharpTreeSitterAvailable, getCSharpLanguage, createCSharpParser, getCSharpLoadingError, resetCSharpLoader, } from './csharp-loader.js';
|
|
15
|
+
export type { PythonParserConfig } from './config.js';
|
|
16
|
+
export { DEFAULT_PYTHON_PARSER_CONFIG, validateConfig, mergeConfig, configFromEnv, } from './config.js';
|
|
17
|
+
export type { TreeSitterNode, TreeSitterTree, TreeSitterParser, TreeSitterLanguage, TreeSitterPoint, TreeSitterQuery, TreeSitterQueryMatch, TreeSitterQueryCapture, PydanticModelInfo, PydanticFieldInfo, PydanticValidatorInfo, PydanticConfigInfo, TypeInfo, FieldConstraints, } from './types.js';
|
|
18
|
+
export { PythonASTConverter, convertPoint, convertNodeType } from './python-ast-converter.js';
|
|
19
|
+
export type { ConversionOptions } from './python-ast-converter.js';
|
|
20
|
+
export { CSharpASTConverter, convertCSharpPoint, convertCSharpNodeType } from './csharp-ast-converter.js';
|
|
21
|
+
export type { CSharpConversionOptions } from './csharp-ast-converter.js';
|
|
22
|
+
export { PydanticExtractor, FieldExtractor, TypeResolver, ConstraintParser, ValidatorExtractor, ConfigExtractor, InheritanceResolver, modelsToContractFields, findModel, getModelNames, hasNumericConstraints, hasStringConstraints, hasAnyConstraints, mergeConstraints, createExtractionContext, PYTHON_TYPE_MAP, PYDANTIC_BASE_CLASSES, } from './pydantic/index.js';
|
|
23
|
+
export type { ExtractionContext, RawFieldData, FieldArgument, ParsedType, RawValidatorData, ValidatorDecoratorType, ValidatorMode, RawConfigData, ConfigValue, BaseClassInfo, } from './pydantic/index.js';
|
|
24
|
+
export { extractAnnotations, extractParameterAnnotations, resolveAnnotationFullName, buildImportMap, findChildrenByType, hasAnnotationArgument, getAnnotationArgument, getAnnotationValue, isWebMappingAnnotation, isStereotypeAnnotation, isValidationAnnotation, extractModifiers, deriveAccessibility, extractClasses, extractInterfaces, extractEnums, extractRecords, extractAnnotationDefinitions, extractMethod, extractConstructor, extractField, hasAnnotation, getAnnotation, isRequestHandler, isTransactional, hasSecurityAnnotation, getHttpMethod, getRequestPath, getPathVariables, getRequestBody, getQueryParameters, DEFAULT_ANNOTATION_OPTIONS, COMMON_SPRING_ANNOTATIONS, } from './java/index.js';
|
|
25
|
+
export type { JavaModifier, JavaAccessibility, PackageInfo, JavaImportInfo, AnnotationValueType, AnnotationArgument, AnnotationTarget, AnnotationUsage, JavaParameterInfo, JavaMethodInfo, JavaConstructorInfo, JavaFieldInfo, JavaClassInfo, JavaInterfaceInfo, JavaEnumConstant, JavaEnumInfo, JavaRecordComponent, JavaRecordInfo, AnnotationElement, AnnotationDefinition, JavaParseResult, AnnotationExtractionOptions, } from './java/index.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parsers/tree-sitter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter Parser Module
|
|
3
|
+
*
|
|
4
|
+
* Public exports for tree-sitter parser integrations.
|
|
5
|
+
* Provides AST parsing for Python (with Pydantic support) and C# (with ASP.NET support).
|
|
6
|
+
*
|
|
7
|
+
* @requirements 3.5 - Unified AST query interface
|
|
8
|
+
*/
|
|
9
|
+
// ============================================
|
|
10
|
+
// Python Parser Exports
|
|
11
|
+
// ============================================
|
|
12
|
+
export { TreeSitterPythonParser } from './tree-sitter-python-parser.js';
|
|
13
|
+
// ============================================
|
|
14
|
+
// C# Parser Exports
|
|
15
|
+
// ============================================
|
|
16
|
+
export { TreeSitterCSharpParser } from './tree-sitter-csharp-parser.js';
|
|
17
|
+
// ============================================
|
|
18
|
+
// Python Loader Exports
|
|
19
|
+
// ============================================
|
|
20
|
+
export { isTreeSitterAvailable, getTreeSitter, getPythonLanguage, createPythonParser, getLoadingError, } from './loader.js';
|
|
21
|
+
// ============================================
|
|
22
|
+
// C# Loader Exports
|
|
23
|
+
// ============================================
|
|
24
|
+
export { isCSharpTreeSitterAvailable, getCSharpLanguage, createCSharpParser, getCSharpLoadingError, resetCSharpLoader, } from './csharp-loader.js';
|
|
25
|
+
export { DEFAULT_PYTHON_PARSER_CONFIG, validateConfig, mergeConfig, configFromEnv, } from './config.js';
|
|
26
|
+
// ============================================
|
|
27
|
+
// AST Converter Exports
|
|
28
|
+
// ============================================
|
|
29
|
+
export { PythonASTConverter, convertPoint, convertNodeType } from './python-ast-converter.js';
|
|
30
|
+
export { CSharpASTConverter, convertCSharpPoint, convertCSharpNodeType } from './csharp-ast-converter.js';
|
|
31
|
+
// ============================================
|
|
32
|
+
// Pydantic Module Exports
|
|
33
|
+
// ============================================
|
|
34
|
+
export { PydanticExtractor, FieldExtractor, TypeResolver, ConstraintParser, ValidatorExtractor, ConfigExtractor, InheritanceResolver, modelsToContractFields, findModel, getModelNames, hasNumericConstraints, hasStringConstraints, hasAnyConstraints, mergeConstraints, createExtractionContext, PYTHON_TYPE_MAP, PYDANTIC_BASE_CLASSES, } from './pydantic/index.js';
|
|
35
|
+
// ============================================
|
|
36
|
+
// Java Module Exports
|
|
37
|
+
// ============================================
|
|
38
|
+
export {
|
|
39
|
+
// Annotation utilities
|
|
40
|
+
extractAnnotations, extractParameterAnnotations, resolveAnnotationFullName, buildImportMap, findChildrenByType, hasAnnotationArgument, getAnnotationArgument, getAnnotationValue, isWebMappingAnnotation, isStereotypeAnnotation, isValidationAnnotation,
|
|
41
|
+
// Class extraction
|
|
42
|
+
extractModifiers, deriveAccessibility, extractClasses, extractInterfaces, extractEnums, extractRecords, extractAnnotationDefinitions,
|
|
43
|
+
// Method extraction
|
|
44
|
+
extractMethod, extractConstructor, extractField, hasAnnotation, getAnnotation, isRequestHandler, isTransactional, hasSecurityAnnotation, getHttpMethod, getRequestPath, getPathVariables, getRequestBody, getQueryParameters,
|
|
45
|
+
// Constants
|
|
46
|
+
DEFAULT_ANNOTATION_OPTIONS, COMMON_SPRING_ANNOTATIONS, } from './java/index.js';
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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;AAO5B,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,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java Annotation Extractor
|
|
3
|
+
*
|
|
4
|
+
* Extracts annotation information from Java AST nodes.
|
|
5
|
+
* Annotations are FIRST-CLASS CITIZENS in Spring - they drive
|
|
6
|
+
* DI, security, web, data, and virtually everything else.
|
|
7
|
+
*
|
|
8
|
+
* Handles:
|
|
9
|
+
* - Marker annotations: @Service
|
|
10
|
+
* - Single-value annotations: @RequestMapping("/api")
|
|
11
|
+
* - Named argument annotations: @Transactional(readOnly = true)
|
|
12
|
+
* - Array value annotations: @Secured({"ADMIN", "USER"})
|
|
13
|
+
* - Nested annotations: @Caching(@Cacheable(...), @CacheEvict(...))
|
|
14
|
+
*
|
|
15
|
+
* @requirements Java/Spring Boot Language Support
|
|
16
|
+
*/
|
|
17
|
+
import type { TreeSitterNode } from '../types.js';
|
|
18
|
+
import type { AnnotationUsage, AnnotationArgument, AnnotationTarget, AnnotationExtractionOptions, JavaImportInfo } from './types.js';
|
|
19
|
+
/**
|
|
20
|
+
* Extract all annotations from a node and its preceding siblings.
|
|
21
|
+
*
|
|
22
|
+
* In Java, annotations appear before the element they annotate,
|
|
23
|
+
* either as siblings or as children of the parent node.
|
|
24
|
+
*
|
|
25
|
+
* @param node - The AST node to extract annotations from
|
|
26
|
+
* @param target - What type of element these annotations are on
|
|
27
|
+
* @param imports - Import statements for resolving full names
|
|
28
|
+
* @param options - Extraction options
|
|
29
|
+
* @returns Array of extracted annotations
|
|
30
|
+
*/
|
|
31
|
+
export declare function extractAnnotations(node: TreeSitterNode, target: AnnotationTarget, imports?: JavaImportInfo[], options?: AnnotationExtractionOptions): AnnotationUsage[];
|
|
32
|
+
/**
|
|
33
|
+
* Extract annotations specifically for a parameter node.
|
|
34
|
+
* Parameters have a different structure in the AST.
|
|
35
|
+
*/
|
|
36
|
+
export declare function extractParameterAnnotations(paramNode: TreeSitterNode, imports?: JavaImportInfo[], options?: AnnotationExtractionOptions): AnnotationUsage[];
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the fully qualified name of an annotation.
|
|
39
|
+
*
|
|
40
|
+
* @param simpleName - The simple annotation name (e.g., "GetMapping")
|
|
41
|
+
* @param imports - Import statements from the file
|
|
42
|
+
* @returns The fully qualified name or null if not resolvable
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveAnnotationFullName(simpleName: string, imports: JavaImportInfo[]): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Build an import map for faster lookups.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildImportMap(imports: JavaImportInfo[]): Map<string, string>;
|
|
49
|
+
/**
|
|
50
|
+
* Find all children of a specific type.
|
|
51
|
+
*/
|
|
52
|
+
export declare function findChildrenByType(node: TreeSitterNode, type: string): TreeSitterNode[];
|
|
53
|
+
/**
|
|
54
|
+
* Check if an annotation has a specific argument.
|
|
55
|
+
*/
|
|
56
|
+
export declare function hasAnnotationArgument(annotation: AnnotationUsage, argumentName: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Get an annotation argument value by name.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getAnnotationArgument(annotation: AnnotationUsage, argumentName: string): AnnotationArgument | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get the single/default value of an annotation.
|
|
63
|
+
* This is the value when no argument name is specified.
|
|
64
|
+
* @example @GetMapping("/api") -> "/api"
|
|
65
|
+
*/
|
|
66
|
+
export declare function getAnnotationValue(annotation: AnnotationUsage): string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Check if an annotation is a Spring web mapping annotation.
|
|
69
|
+
*/
|
|
70
|
+
export declare function isWebMappingAnnotation(annotation: AnnotationUsage): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Check if an annotation is a Spring stereotype annotation.
|
|
73
|
+
*/
|
|
74
|
+
export declare function isStereotypeAnnotation(annotation: AnnotationUsage): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Check if an annotation is a validation annotation.
|
|
77
|
+
*/
|
|
78
|
+
export declare function isValidationAnnotation(annotation: AnnotationUsage): boolean;
|
|
79
|
+
//# sourceMappingURL=annotation-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-extractor.d.ts","sourceRoot":"","sources":["../../../../src/parsers/tree-sitter/java/annotation-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAEhB,2BAA2B,EAC3B,cAAc,EACf,MAAM,YAAY,CAAC;AAqBpB;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAc,EAAO,EAC9B,OAAO,GAAE,2BAAwD,GAChE,eAAe,EAAE,CA2CnB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,cAAc,EAAO,EAC9B,OAAO,GAAE,2BAAwD,GAChE,eAAe,EAAE,CAcnB;AAkVD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,GAAG,IAAI,CAqCf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa7E;AAkBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAQvF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,MAAM,GACnB,kBAAkB,GAAG,SAAS,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAUlF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAU3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAU3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAsB3E"}
|