@angular-modernizer/api 0.1.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/LICENSE +21 -0
- package/README.md +507 -0
- package/dist/analysis/complexity-metrics-calculator.d.ts +99 -0
- package/dist/analysis/complexity-metrics-calculator.d.ts.map +1 -0
- package/dist/analysis/complexity-metrics-calculator.js +195 -0
- package/dist/analysis/complexity-metrics-calculator.js.map +1 -0
- package/dist/analysis/dependency-analyzer.d.ts +227 -0
- package/dist/analysis/dependency-analyzer.d.ts.map +1 -0
- package/dist/analysis/dependency-analyzer.js +451 -0
- package/dist/analysis/dependency-analyzer.js.map +1 -0
- package/dist/analysis/external-template-loader.d.ts +44 -0
- package/dist/analysis/external-template-loader.d.ts.map +1 -0
- package/dist/analysis/external-template-loader.js +69 -0
- package/dist/analysis/external-template-loader.js.map +1 -0
- package/dist/analysis/selector-mapper.d.ts +77 -0
- package/dist/analysis/selector-mapper.d.ts.map +1 -0
- package/dist/analysis/selector-mapper.js +146 -0
- package/dist/analysis/selector-mapper.js.map +1 -0
- package/dist/analysis/service-detector.d.ts +164 -0
- package/dist/analysis/service-detector.d.ts.map +1 -0
- package/dist/analysis/service-detector.js +231 -0
- package/dist/analysis/service-detector.js.map +1 -0
- package/dist/analysis/service-pattern-recognizer.d.ts +247 -0
- package/dist/analysis/service-pattern-recognizer.d.ts.map +1 -0
- package/dist/analysis/service-pattern-recognizer.js +444 -0
- package/dist/analysis/service-pattern-recognizer.js.map +1 -0
- package/dist/analysis/symbol-locator.d.ts +81 -0
- package/dist/analysis/symbol-locator.d.ts.map +1 -0
- package/dist/analysis/symbol-locator.js +128 -0
- package/dist/analysis/symbol-locator.js.map +1 -0
- package/dist/analysis/template-analyzer-usage.d.ts +144 -0
- package/dist/analysis/template-analyzer-usage.d.ts.map +1 -0
- package/dist/analysis/template-analyzer-usage.js +474 -0
- package/dist/analysis/template-analyzer-usage.js.map +1 -0
- package/dist/analysis/template-analyzer.d.ts +80 -0
- package/dist/analysis/template-analyzer.d.ts.map +1 -0
- package/dist/analysis/template-analyzer.js +146 -0
- package/dist/analysis/template-analyzer.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/investigation/angular-symbol-finder.d.ts +76 -0
- package/dist/investigation/angular-symbol-finder.d.ts.map +1 -0
- package/dist/investigation/angular-symbol-finder.js +199 -0
- package/dist/investigation/angular-symbol-finder.js.map +1 -0
- package/dist/investigation/call-graph-builder.d.ts +85 -0
- package/dist/investigation/call-graph-builder.d.ts.map +1 -0
- package/dist/investigation/call-graph-builder.js +196 -0
- package/dist/investigation/call-graph-builder.js.map +1 -0
- package/dist/investigation/codebase-searcher.d.ts +99 -0
- package/dist/investigation/codebase-searcher.d.ts.map +1 -0
- package/dist/investigation/codebase-searcher.js +201 -0
- package/dist/investigation/codebase-searcher.js.map +1 -0
- package/dist/investigation/stack-trace-parser.d.ts +70 -0
- package/dist/investigation/stack-trace-parser.d.ts.map +1 -0
- package/dist/investigation/stack-trace-parser.js +117 -0
- package/dist/investigation/stack-trace-parser.js.map +1 -0
- package/dist/investigation/type-resolver.d.ts +59 -0
- package/dist/investigation/type-resolver.d.ts.map +1 -0
- package/dist/investigation/type-resolver.js +111 -0
- package/dist/investigation/type-resolver.js.map +1 -0
- package/dist/investigation/usage-finder.d.ts +69 -0
- package/dist/investigation/usage-finder.d.ts.map +1 -0
- package/dist/investigation/usage-finder.js +132 -0
- package/dist/investigation/usage-finder.js.map +1 -0
- package/dist/metrics/complexity-metrics.d.ts +196 -0
- package/dist/metrics/complexity-metrics.d.ts.map +1 -0
- package/dist/metrics/complexity-metrics.js +445 -0
- package/dist/metrics/complexity-metrics.js.map +1 -0
- package/dist/public-api.d.ts +77 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +50 -0
- package/dist/public-api.js.map +1 -0
- package/dist/transformation/import-manager.d.ts +276 -0
- package/dist/transformation/import-manager.d.ts.map +1 -0
- package/dist/transformation/import-manager.js +488 -0
- package/dist/transformation/import-manager.js.map +1 -0
- package/dist/transformation/ng-morph-adapter.d.ts +111 -0
- package/dist/transformation/ng-morph-adapter.d.ts.map +1 -0
- package/dist/transformation/ng-morph-adapter.js +179 -0
- package/dist/transformation/ng-morph-adapter.js.map +1 -0
- package/dist/transformation/ngmodule-manager.d.ts +145 -0
- package/dist/transformation/ngmodule-manager.d.ts.map +1 -0
- package/dist/transformation/ngmodule-manager.js +356 -0
- package/dist/transformation/ngmodule-manager.js.map +1 -0
- package/package.json +62 -0
- package/src/analysis/complexity-metrics-calculator.ts +253 -0
- package/src/analysis/dependency-analyzer.ts +720 -0
- package/src/analysis/external-template-loader.ts +79 -0
- package/src/analysis/selector-mapper.ts +186 -0
- package/src/analysis/service-detector.ts +280 -0
- package/src/analysis/service-pattern-recognizer.ts +545 -0
- package/src/analysis/symbol-locator.ts +170 -0
- package/src/analysis/template-analyzer-usage.ts +614 -0
- package/src/analysis/template-analyzer.ts +208 -0
- package/src/index.ts +51 -0
- package/src/investigation/angular-symbol-finder.ts +263 -0
- package/src/investigation/call-graph-builder.ts +298 -0
- package/src/investigation/codebase-searcher.ts +286 -0
- package/src/investigation/stack-trace-parser.ts +166 -0
- package/src/investigation/type-resolver.ts +144 -0
- package/src/investigation/usage-finder.ts +198 -0
- package/src/metrics/complexity-metrics.ts +617 -0
- package/src/public-api.ts +119 -0
- package/src/transformation/import-manager.ts +626 -0
- package/src/transformation/ng-morph-adapter.ts +252 -0
- package/src/transformation/ngmodule-manager.ts +450 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for @angular-modernizer/api
|
|
3
|
+
*
|
|
4
|
+
* This file exports the main interfaces and classes that plugins and tools
|
|
5
|
+
* can use for Angular analysis and transformation.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
NgMorphAdapter,
|
|
10
|
+
type NgMorphAdapterOptions,
|
|
11
|
+
} from './transformation/ng-morph-adapter.js';
|
|
12
|
+
import { NgModuleManager } from './transformation/ngmodule-manager.js';
|
|
13
|
+
import { ImportManager } from './transformation/import-manager.js';
|
|
14
|
+
import { ServicePatternRecognizer } from './analysis/service-pattern-recognizer.js';
|
|
15
|
+
import { ServiceDetector } from './analysis/service-detector.js';
|
|
16
|
+
import { SymbolLocator } from './analysis/symbol-locator.js';
|
|
17
|
+
import { TemplateAnalyzer } from './analysis/template-analyzer.js';
|
|
18
|
+
import type { Project } from 'ts-morph';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Public API interface that provides access to all analysis and transformation tools
|
|
22
|
+
*/
|
|
23
|
+
export interface PublicApi {
|
|
24
|
+
/**
|
|
25
|
+
* Analysis tools for code inspection and pattern detection
|
|
26
|
+
*/
|
|
27
|
+
analysis: {
|
|
28
|
+
/**
|
|
29
|
+
* Service pattern recognizer for classifying Angular service patterns
|
|
30
|
+
*/
|
|
31
|
+
servicePatternRecognizer: ServicePatternRecognizer;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Service detector with caching and bulk operations
|
|
35
|
+
*/
|
|
36
|
+
serviceDetector: ServiceDetector;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Symbol locator for resolving symbols across the project
|
|
40
|
+
*/
|
|
41
|
+
symbolLocator: SymbolLocator;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Template analyzer for analyzing Angular templates
|
|
45
|
+
*/
|
|
46
|
+
templateAnalyzer: TemplateAnalyzer;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Transformation tools for code modification
|
|
51
|
+
*/
|
|
52
|
+
transformation: {
|
|
53
|
+
/**
|
|
54
|
+
* NgModule manager for managing NgModule declarations and exports
|
|
55
|
+
*/
|
|
56
|
+
ngModuleManager: NgModuleManager;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Import manager for managing imports with hybrid ng-morph approach
|
|
60
|
+
*/
|
|
61
|
+
importManager: ImportManager;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* ng-morph adapter for Angular-specific AST operations
|
|
66
|
+
*/
|
|
67
|
+
ngMorph: NgMorphAdapter;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The underlying ts-morph Project instance
|
|
71
|
+
*/
|
|
72
|
+
project: Project;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Factory function to create a PublicApi instance
|
|
77
|
+
*
|
|
78
|
+
* @param project - The ts-morph Project instance
|
|
79
|
+
* @param options - Optional configuration for the adapters
|
|
80
|
+
*/
|
|
81
|
+
export function createPublicApi(
|
|
82
|
+
project: Project,
|
|
83
|
+
options?: {
|
|
84
|
+
rootPath?: string;
|
|
85
|
+
pattern?: string;
|
|
86
|
+
},
|
|
87
|
+
): PublicApi {
|
|
88
|
+
const ngMorphOptions: NgMorphAdapterOptions = {
|
|
89
|
+
project,
|
|
90
|
+
rootPath: options?.rootPath,
|
|
91
|
+
pattern: options?.pattern,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const ngMorphAdapter = new NgMorphAdapter(ngMorphOptions);
|
|
95
|
+
const servicePatternRecognizer = new ServicePatternRecognizer(ngMorphAdapter);
|
|
96
|
+
const serviceDetector = new ServiceDetector(servicePatternRecognizer);
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
analysis: {
|
|
100
|
+
servicePatternRecognizer,
|
|
101
|
+
serviceDetector,
|
|
102
|
+
symbolLocator: new SymbolLocator(),
|
|
103
|
+
templateAnalyzer: new TemplateAnalyzer(),
|
|
104
|
+
},
|
|
105
|
+
transformation: {
|
|
106
|
+
ngModuleManager: new NgModuleManager(ngMorphAdapter),
|
|
107
|
+
importManager: new ImportManager(ngMorphAdapter),
|
|
108
|
+
},
|
|
109
|
+
ngMorph: ngMorphAdapter,
|
|
110
|
+
project,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Re-export key types and classes
|
|
115
|
+
export { NgMorphAdapter, type NgMorphAdapterOptions } from './transformation/ng-morph-adapter.js';
|
|
116
|
+
export { NgModuleManager } from './transformation/ngmodule-manager.js';
|
|
117
|
+
export { ImportManager } from './transformation/import-manager.js';
|
|
118
|
+
export { ServiceDetector } from './analysis/service-detector.js';
|
|
119
|
+
export { ServicePatternRecognizer } from './analysis/service-pattern-recognizer.js';
|