@wtdlee/repomap 0.2.0 → 0.3.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/analyzers/index.d.ts +69 -5
- package/dist/analyzers/index.js +1 -5
- package/dist/chunk-3PWXDB7B.js +153 -0
- package/dist/{generators/page-map-generator.js → chunk-3YFXZAP7.js} +322 -358
- package/dist/chunk-6F4PWJZI.js +1 -0
- package/dist/{generators/rails-map-generator.js → chunk-E4WRODSI.js} +86 -94
- package/dist/chunk-GNBMJMET.js +2519 -0
- package/dist/{server/doc-server.js → chunk-M6YNU536.js} +702 -290
- package/dist/chunk-OWM6WNLE.js +2610 -0
- package/dist/chunk-SSU6QFTX.js +1058 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +348 -452
- package/dist/dataflow-analyzer-BfAiqVUp.d.ts +180 -0
- package/dist/env-detector-EEMVUEIA.js +1 -0
- package/dist/generators/index.d.ts +431 -3
- package/dist/generators/index.js +2 -3
- package/dist/index.d.ts +53 -10
- package/dist/index.js +8 -11
- package/dist/page-map-generator-6MJGPBVA.js +1 -0
- package/dist/rails-UWSDRS33.js +1 -0
- package/dist/rails-map-generator-D2URLMVJ.js +2 -0
- package/dist/server/index.d.ts +33 -1
- package/dist/server/index.js +7 -1
- package/dist/types.d.ts +39 -37
- package/dist/types.js +1 -5
- package/package.json +5 -3
- package/dist/analyzers/base-analyzer.d.ts +0 -45
- package/dist/analyzers/base-analyzer.js +0 -47
- package/dist/analyzers/dataflow-analyzer.d.ts +0 -29
- package/dist/analyzers/dataflow-analyzer.js +0 -425
- package/dist/analyzers/graphql-analyzer.d.ts +0 -22
- package/dist/analyzers/graphql-analyzer.js +0 -386
- package/dist/analyzers/pages-analyzer.d.ts +0 -84
- package/dist/analyzers/pages-analyzer.js +0 -1695
- package/dist/analyzers/rails/index.d.ts +0 -46
- package/dist/analyzers/rails/index.js +0 -145
- package/dist/analyzers/rails/rails-controller-analyzer.d.ts +0 -82
- package/dist/analyzers/rails/rails-controller-analyzer.js +0 -478
- package/dist/analyzers/rails/rails-grpc-analyzer.d.ts +0 -44
- package/dist/analyzers/rails/rails-grpc-analyzer.js +0 -262
- package/dist/analyzers/rails/rails-model-analyzer.d.ts +0 -88
- package/dist/analyzers/rails/rails-model-analyzer.js +0 -493
- package/dist/analyzers/rails/rails-react-analyzer.d.ts +0 -41
- package/dist/analyzers/rails/rails-react-analyzer.js +0 -529
- package/dist/analyzers/rails/rails-routes-analyzer.d.ts +0 -62
- package/dist/analyzers/rails/rails-routes-analyzer.js +0 -540
- package/dist/analyzers/rails/rails-view-analyzer.d.ts +0 -49
- package/dist/analyzers/rails/rails-view-analyzer.js +0 -386
- package/dist/analyzers/rails/ruby-parser.d.ts +0 -63
- package/dist/analyzers/rails/ruby-parser.js +0 -212
- package/dist/analyzers/rest-api-analyzer.d.ts +0 -65
- package/dist/analyzers/rest-api-analyzer.js +0 -479
- package/dist/core/cache.d.ts +0 -47
- package/dist/core/cache.js +0 -151
- package/dist/core/engine.d.ts +0 -46
- package/dist/core/engine.js +0 -319
- package/dist/core/index.d.ts +0 -2
- package/dist/core/index.js +0 -2
- package/dist/generators/markdown-generator.d.ts +0 -25
- package/dist/generators/markdown-generator.js +0 -782
- package/dist/generators/mermaid-generator.d.ts +0 -35
- package/dist/generators/mermaid-generator.js +0 -364
- package/dist/generators/page-map-generator.d.ts +0 -22
- package/dist/generators/rails-map-generator.d.ts +0 -21
- package/dist/server/doc-server.d.ts +0 -30
- package/dist/utils/env-detector.d.ts +0 -31
- package/dist/utils/env-detector.js +0 -188
- package/dist/utils/parallel.d.ts +0 -23
- package/dist/utils/parallel.js +0 -70
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rails Analyzers - Index
|
|
3
|
-
* Rails分析モジュールのエクスポート
|
|
4
|
-
*/
|
|
5
|
-
export { RailsRoutesAnalyzer, type RailsRoute, type RailsRoutesResult, type ResourceInfo, type MountedEngine, } from './rails-routes-analyzer.js';
|
|
6
|
-
export { RailsControllerAnalyzer, type ControllerInfo, type ActionInfo, type FilterInfo, type RailsControllersResult, } from './rails-controller-analyzer.js';
|
|
7
|
-
export { RailsModelAnalyzer, type ModelInfo, type AssociationInfo, type ValidationInfo, type RailsModelsResult, } from './rails-model-analyzer.js';
|
|
8
|
-
export { RailsGrpcAnalyzer, type GrpcServiceInfo, type RpcMethodInfo, type RailsGrpcResult, } from './rails-grpc-analyzer.js';
|
|
9
|
-
export { analyzeRailsViews, type RailsViewInfo, type RailsPageInfo, type RailsApiCall, type RailsViewAnalysisResult, } from './rails-view-analyzer.js';
|
|
10
|
-
export { analyzeReactComponents, type ReactComponentMapping, type ReactComponentUsage, type ReactAnalysisResult, type EntryPointInfo, } from './rails-react-analyzer.js';
|
|
11
|
-
export { initRubyParser, parseRuby, parseRubyFile, findNodes, type SyntaxNode, type Tree, } from './ruby-parser.js';
|
|
12
|
-
import { type RailsRoutesResult } from './rails-routes-analyzer.js';
|
|
13
|
-
import { type RailsControllersResult } from './rails-controller-analyzer.js';
|
|
14
|
-
import { type RailsModelsResult } from './rails-model-analyzer.js';
|
|
15
|
-
import { type RailsGrpcResult } from './rails-grpc-analyzer.js';
|
|
16
|
-
import { type RailsViewAnalysisResult } from './rails-view-analyzer.js';
|
|
17
|
-
import { type ReactAnalysisResult } from './rails-react-analyzer.js';
|
|
18
|
-
export interface RailsAnalysisResult {
|
|
19
|
-
routes: RailsRoutesResult;
|
|
20
|
-
controllers: RailsControllersResult;
|
|
21
|
-
models: RailsModelsResult;
|
|
22
|
-
grpc: RailsGrpcResult;
|
|
23
|
-
views: RailsViewAnalysisResult;
|
|
24
|
-
react: ReactAnalysisResult;
|
|
25
|
-
summary: RailsSummary;
|
|
26
|
-
}
|
|
27
|
-
export interface RailsSummary {
|
|
28
|
-
totalRoutes: number;
|
|
29
|
-
totalControllers: number;
|
|
30
|
-
totalActions: number;
|
|
31
|
-
totalModels: number;
|
|
32
|
-
totalAssociations: number;
|
|
33
|
-
totalValidations: number;
|
|
34
|
-
totalGrpcServices: number;
|
|
35
|
-
totalRpcs: number;
|
|
36
|
-
totalViews: number;
|
|
37
|
-
totalPages: number;
|
|
38
|
-
totalReactComponents: number;
|
|
39
|
-
ssrReactComponents: number;
|
|
40
|
-
namespaces: string[];
|
|
41
|
-
concerns: string[];
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Analyze a complete Rails application
|
|
45
|
-
*/
|
|
46
|
-
export declare function analyzeRailsApp(rootPath: string): Promise<RailsAnalysisResult>;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rails Analyzers - Index
|
|
3
|
-
* Rails分析モジュールのエクスポート
|
|
4
|
-
*/
|
|
5
|
-
export { RailsRoutesAnalyzer, } from './rails-routes-analyzer.js';
|
|
6
|
-
export { RailsControllerAnalyzer, } from './rails-controller-analyzer.js';
|
|
7
|
-
export { RailsModelAnalyzer, } from './rails-model-analyzer.js';
|
|
8
|
-
export { RailsGrpcAnalyzer, } from './rails-grpc-analyzer.js';
|
|
9
|
-
export { analyzeRailsViews, } from './rails-view-analyzer.js';
|
|
10
|
-
export { analyzeReactComponents, } from './rails-react-analyzer.js';
|
|
11
|
-
export { initRubyParser, parseRuby, parseRubyFile, findNodes, } from './ruby-parser.js';
|
|
12
|
-
import { RailsRoutesAnalyzer } from './rails-routes-analyzer.js';
|
|
13
|
-
import { RailsControllerAnalyzer, } from './rails-controller-analyzer.js';
|
|
14
|
-
import { RailsModelAnalyzer } from './rails-model-analyzer.js';
|
|
15
|
-
import { RailsGrpcAnalyzer } from './rails-grpc-analyzer.js';
|
|
16
|
-
import { analyzeRailsViews } from './rails-view-analyzer.js';
|
|
17
|
-
import { analyzeReactComponents } from './rails-react-analyzer.js';
|
|
18
|
-
/**
|
|
19
|
-
* Analyze a complete Rails application
|
|
20
|
-
*/
|
|
21
|
-
export async function analyzeRailsApp(rootPath) {
|
|
22
|
-
console.log(`\n📦 Analyzing Rails application at: ${rootPath}\n`);
|
|
23
|
-
// Routes
|
|
24
|
-
console.log('🔄 Analyzing routes...');
|
|
25
|
-
const routesAnalyzer = new RailsRoutesAnalyzer(rootPath);
|
|
26
|
-
const routes = await routesAnalyzer.analyze();
|
|
27
|
-
console.log(` ✅ Found ${routes.routes.length} routes`);
|
|
28
|
-
// Controllers
|
|
29
|
-
console.log('🔄 Analyzing controllers...');
|
|
30
|
-
const controllersAnalyzer = new RailsControllerAnalyzer(rootPath);
|
|
31
|
-
const controllers = await controllersAnalyzer.analyze();
|
|
32
|
-
console.log(` ✅ Found ${controllers.controllers.length} controllers with ${controllers.totalActions} actions`);
|
|
33
|
-
// Models
|
|
34
|
-
console.log('🔄 Analyzing models...');
|
|
35
|
-
const modelsAnalyzer = new RailsModelAnalyzer(rootPath);
|
|
36
|
-
const models = await modelsAnalyzer.analyze();
|
|
37
|
-
console.log(` ✅ Found ${models.models.length} models with ${models.totalAssociations} associations`);
|
|
38
|
-
// gRPC Services
|
|
39
|
-
console.log('🔄 Analyzing gRPC services...');
|
|
40
|
-
const grpcAnalyzer = new RailsGrpcAnalyzer(rootPath);
|
|
41
|
-
const grpc = await grpcAnalyzer.analyze();
|
|
42
|
-
console.log(` ✅ Found ${grpc.services.length} gRPC services with ${grpc.totalRpcs} RPCs`);
|
|
43
|
-
// Views
|
|
44
|
-
console.log('🔄 Analyzing views...');
|
|
45
|
-
const views = await analyzeRailsViews(rootPath);
|
|
46
|
-
console.log(` ✅ Found ${views.summary.totalViews} views and ${views.summary.totalPages} pages`);
|
|
47
|
-
// React Components
|
|
48
|
-
console.log('🔄 Analyzing React components...');
|
|
49
|
-
const react = await analyzeReactComponents(rootPath);
|
|
50
|
-
console.log(` ✅ Found ${react.summary.totalComponents} React components (${react.summary.ssrComponents} SSR, ${react.summary.clientComponents} client)`);
|
|
51
|
-
// Combine all namespaces
|
|
52
|
-
const allNamespaces = [
|
|
53
|
-
...new Set([
|
|
54
|
-
...routes.namespaces,
|
|
55
|
-
...controllers.namespaces,
|
|
56
|
-
...models.namespaces,
|
|
57
|
-
...grpc.namespaces,
|
|
58
|
-
]),
|
|
59
|
-
];
|
|
60
|
-
// Combine all concerns
|
|
61
|
-
const allConcerns = [...new Set([...controllers.concerns, ...models.concerns])];
|
|
62
|
-
const summary = {
|
|
63
|
-
totalRoutes: routes.routes.length,
|
|
64
|
-
totalControllers: controllers.controllers.length,
|
|
65
|
-
totalActions: controllers.totalActions,
|
|
66
|
-
totalModels: models.models.length,
|
|
67
|
-
totalAssociations: models.totalAssociations,
|
|
68
|
-
totalValidations: models.totalValidations,
|
|
69
|
-
totalGrpcServices: grpc.services.length,
|
|
70
|
-
totalRpcs: grpc.totalRpcs,
|
|
71
|
-
totalViews: views.summary.totalViews,
|
|
72
|
-
totalPages: views.summary.totalPages,
|
|
73
|
-
totalReactComponents: react.summary.totalComponents,
|
|
74
|
-
ssrReactComponents: react.summary.ssrComponents,
|
|
75
|
-
namespaces: allNamespaces,
|
|
76
|
-
concerns: allConcerns,
|
|
77
|
-
};
|
|
78
|
-
return {
|
|
79
|
-
routes,
|
|
80
|
-
controllers,
|
|
81
|
-
models,
|
|
82
|
-
grpc,
|
|
83
|
-
views,
|
|
84
|
-
react,
|
|
85
|
-
summary,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
// Standalone execution for full analysis
|
|
89
|
-
async function main() {
|
|
90
|
-
const targetPath = process.argv[2] || process.cwd();
|
|
91
|
-
const result = await analyzeRailsApp(targetPath);
|
|
92
|
-
console.log('\n' + '='.repeat(60));
|
|
93
|
-
console.log('📊 RAILS APPLICATION ANALYSIS SUMMARY');
|
|
94
|
-
console.log('='.repeat(60) + '\n');
|
|
95
|
-
console.log('┌─────────────────────────────────────────────────────┐');
|
|
96
|
-
console.log('│ Routes │');
|
|
97
|
-
console.log('├─────────────────────────────────────────────────────┤');
|
|
98
|
-
console.log(`│ Total routes: ${String(result.summary.totalRoutes).padStart(6)} │`);
|
|
99
|
-
console.log(`│ Resources: ${String(result.routes.resources.length).padStart(6)} │`);
|
|
100
|
-
console.log(`│ Mounted engines: ${String(result.routes.mountedEngines.length).padStart(6)} │`);
|
|
101
|
-
console.log(`│ External files: ${String(result.routes.drawnFiles.length).padStart(6)} │`);
|
|
102
|
-
console.log('└─────────────────────────────────────────────────────┘');
|
|
103
|
-
console.log('┌─────────────────────────────────────────────────────┐');
|
|
104
|
-
console.log('│ Controllers │');
|
|
105
|
-
console.log('├─────────────────────────────────────────────────────┤');
|
|
106
|
-
console.log(`│ Total controllers: ${String(result.summary.totalControllers).padStart(6)} │`);
|
|
107
|
-
console.log(`│ Total actions: ${String(result.summary.totalActions).padStart(6)} │`);
|
|
108
|
-
console.log(`│ Namespaces: ${String(result.controllers.namespaces.length).padStart(6)} │`);
|
|
109
|
-
console.log('└─────────────────────────────────────────────────────┘');
|
|
110
|
-
console.log('┌─────────────────────────────────────────────────────┐');
|
|
111
|
-
console.log('│ Models │');
|
|
112
|
-
console.log('├─────────────────────────────────────────────────────┤');
|
|
113
|
-
console.log(`│ Total models: ${String(result.summary.totalModels).padStart(6)} │`);
|
|
114
|
-
console.log(`│ Associations: ${String(result.summary.totalAssociations).padStart(6)} │`);
|
|
115
|
-
console.log(`│ Validations: ${String(result.summary.totalValidations).padStart(6)} │`);
|
|
116
|
-
console.log('└─────────────────────────────────────────────────────┘');
|
|
117
|
-
console.log('┌─────────────────────────────────────────────────────┐');
|
|
118
|
-
console.log('│ gRPC Services │');
|
|
119
|
-
console.log('├─────────────────────────────────────────────────────┤');
|
|
120
|
-
console.log(`│ Total services: ${String(result.summary.totalGrpcServices).padStart(6)} │`);
|
|
121
|
-
console.log(`│ Total RPCs: ${String(result.summary.totalRpcs).padStart(6)} │`);
|
|
122
|
-
console.log('└─────────────────────────────────────────────────────┘');
|
|
123
|
-
console.log('┌─────────────────────────────────────────────────────┐');
|
|
124
|
-
console.log('│ Shared │');
|
|
125
|
-
console.log('├─────────────────────────────────────────────────────┤');
|
|
126
|
-
console.log(`│ Total namespaces: ${String(result.summary.namespaces.length).padStart(6)} │`);
|
|
127
|
-
console.log(`│ Total concerns: ${String(result.summary.concerns.length).padStart(6)} │`);
|
|
128
|
-
console.log('└─────────────────────────────────────────────────────┘');
|
|
129
|
-
// Errors summary
|
|
130
|
-
const totalErrors = result.routes.errors.length +
|
|
131
|
-
result.controllers.errors.length +
|
|
132
|
-
result.models.errors.length +
|
|
133
|
-
result.grpc.errors.length;
|
|
134
|
-
if (totalErrors > 0) {
|
|
135
|
-
console.log(`\n⚠️ Total errors: ${totalErrors}`);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
console.log('\n✅ Analysis completed without errors!');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
// Run if executed directly
|
|
142
|
-
const isMainModule = import.meta.url === `file://${process.argv[1]}`;
|
|
143
|
-
if (isMainModule) {
|
|
144
|
-
main().catch(console.error);
|
|
145
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rails Controller Analyzer using tree-sitter
|
|
3
|
-
* tree-sitterを使用してコントローラファイルを解析する
|
|
4
|
-
*/
|
|
5
|
-
export interface ControllerInfo {
|
|
6
|
-
name: string;
|
|
7
|
-
filePath: string;
|
|
8
|
-
className: string;
|
|
9
|
-
parentClass: string;
|
|
10
|
-
namespace?: string;
|
|
11
|
-
actions: ActionInfo[];
|
|
12
|
-
beforeActions: FilterInfo[];
|
|
13
|
-
afterActions: FilterInfo[];
|
|
14
|
-
aroundActions: FilterInfo[];
|
|
15
|
-
skipBeforeActions: FilterInfo[];
|
|
16
|
-
concerns: string[];
|
|
17
|
-
helpers: string[];
|
|
18
|
-
rescueFrom: RescueInfo[];
|
|
19
|
-
layoutInfo?: LayoutInfo;
|
|
20
|
-
line: number;
|
|
21
|
-
}
|
|
22
|
-
export interface InstanceVarAssignment {
|
|
23
|
-
name: string;
|
|
24
|
-
assignedType?: string;
|
|
25
|
-
assignedValue?: string;
|
|
26
|
-
line?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface ActionInfo {
|
|
29
|
-
name: string;
|
|
30
|
-
line: number;
|
|
31
|
-
visibility: 'public' | 'private' | 'protected';
|
|
32
|
-
parameters: string[];
|
|
33
|
-
rendersJson?: boolean;
|
|
34
|
-
rendersHtml?: boolean;
|
|
35
|
-
redirectsTo?: string;
|
|
36
|
-
respondsTo?: string[];
|
|
37
|
-
servicesCalled: string[];
|
|
38
|
-
modelsCalled: string[];
|
|
39
|
-
methodCalls: string[];
|
|
40
|
-
instanceVarAssignments?: InstanceVarAssignment[];
|
|
41
|
-
}
|
|
42
|
-
export interface FilterInfo {
|
|
43
|
-
name: string;
|
|
44
|
-
only?: string[];
|
|
45
|
-
except?: string[];
|
|
46
|
-
if?: string;
|
|
47
|
-
unless?: string;
|
|
48
|
-
line: number;
|
|
49
|
-
}
|
|
50
|
-
export interface RescueInfo {
|
|
51
|
-
exception: string;
|
|
52
|
-
handler: string;
|
|
53
|
-
line: number;
|
|
54
|
-
}
|
|
55
|
-
export interface LayoutInfo {
|
|
56
|
-
name: string;
|
|
57
|
-
conditions?: string;
|
|
58
|
-
}
|
|
59
|
-
export interface RailsControllersResult {
|
|
60
|
-
controllers: ControllerInfo[];
|
|
61
|
-
totalActions: number;
|
|
62
|
-
namespaces: string[];
|
|
63
|
-
concerns: string[];
|
|
64
|
-
errors: string[];
|
|
65
|
-
}
|
|
66
|
-
export declare class RailsControllerAnalyzer {
|
|
67
|
-
private rootPath;
|
|
68
|
-
private controllersDir;
|
|
69
|
-
private controllers;
|
|
70
|
-
private errors;
|
|
71
|
-
constructor(rootPath: string);
|
|
72
|
-
analyze(): Promise<RailsControllersResult>;
|
|
73
|
-
private parseControllerFile;
|
|
74
|
-
private parseFilter;
|
|
75
|
-
private parseInclude;
|
|
76
|
-
private parseHelper;
|
|
77
|
-
private parseLayout;
|
|
78
|
-
private parseRescueFrom;
|
|
79
|
-
private parseMethod;
|
|
80
|
-
private getCallArguments;
|
|
81
|
-
private extractArrayValues;
|
|
82
|
-
}
|