-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
114 lines (102 loc) · 2.12 KB
/
types.ts
File metadata and controls
114 lines (102 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import type { Collection, JSCodeshift } from 'jscodeshift';
/**
* CLI options
*/
export interface CliOptions {
dry: boolean;
force: boolean;
parser: string;
print: boolean;
verbose: boolean;
}
/**
* File transformation result
*/
export interface TransformResult {
filePath: string;
transformed: boolean;
changes: string[];
warnings: string[];
errors: string[];
}
/**
* Analysis context for a file
*/
export interface AnalysisContext {
isSuitesContext: boolean;
needsMockedImport: boolean;
needsUnitReferenceImport: boolean;
retrievedDependencies: Set<string>;
stubUsages: Map<string, boolean>;
mockConfigurations: Map<string, boolean>;
}
/**
* Mock configuration strategy
*/
export type MockStrategy = 'impl' | 'final';
/**
* Mock configuration details
*/
export interface MockConfiguration {
dependency: string;
strategy: MockStrategy;
recommendedStrategy: MockStrategy;
hasStubs: boolean;
isRetrieved: boolean;
isAmbiguous: boolean;
}
/**
* Transformer function signature
*/
export type Transformer = (
j: JSCodeshift,
root: Collection,
context: AnalysisContext
) => void;
/**
* Analyzer function signature
*/
export type Analyzer = (source: string) => Partial<AnalysisContext>;
/**
* Validation error severity levels
*/
export type ValidationSeverity = 'error' | 'warning' | 'critical';
/**
* Individual validation error
*/
export interface ValidationError {
rule: string;
message: string;
severity: ValidationSeverity;
line?: number;
column?: number;
}
/**
* Validation result with detailed errors
*/
export interface ValidationResult {
success: boolean;
errors: ValidationError[];
warnings: ValidationError[];
criticalErrors: ValidationError[];
}
/**
* Transform output including code and validation
*/
export interface TransformOutput {
code: string;
validation: ValidationResult;
}
/**
* Migration summary statistics
*/
export interface MigrationSummary {
filesProcessed: number;
filesTransformed: number;
filesSkipped: number;
importsUpdated: number;
mocksConfigured: number;
errors: number;
warnings: number;
results: TransformResult[];
}