@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.
Files changed (69) hide show
  1. package/dist/analyzers/index.d.ts +69 -5
  2. package/dist/analyzers/index.js +1 -5
  3. package/dist/chunk-3PWXDB7B.js +153 -0
  4. package/dist/{generators/page-map-generator.js → chunk-3YFXZAP7.js} +322 -358
  5. package/dist/chunk-6F4PWJZI.js +1 -0
  6. package/dist/{generators/rails-map-generator.js → chunk-E4WRODSI.js} +86 -94
  7. package/dist/chunk-GNBMJMET.js +2519 -0
  8. package/dist/{server/doc-server.js → chunk-M6YNU536.js} +702 -290
  9. package/dist/chunk-OWM6WNLE.js +2610 -0
  10. package/dist/chunk-SSU6QFTX.js +1058 -0
  11. package/dist/cli.d.ts +0 -1
  12. package/dist/cli.js +348 -452
  13. package/dist/dataflow-analyzer-BfAiqVUp.d.ts +180 -0
  14. package/dist/env-detector-EEMVUEIA.js +1 -0
  15. package/dist/generators/index.d.ts +431 -3
  16. package/dist/generators/index.js +2 -3
  17. package/dist/index.d.ts +53 -10
  18. package/dist/index.js +8 -11
  19. package/dist/page-map-generator-6MJGPBVA.js +1 -0
  20. package/dist/rails-UWSDRS33.js +1 -0
  21. package/dist/rails-map-generator-D2URLMVJ.js +2 -0
  22. package/dist/server/index.d.ts +33 -1
  23. package/dist/server/index.js +7 -1
  24. package/dist/types.d.ts +39 -37
  25. package/dist/types.js +1 -5
  26. package/package.json +5 -3
  27. package/dist/analyzers/base-analyzer.d.ts +0 -45
  28. package/dist/analyzers/base-analyzer.js +0 -47
  29. package/dist/analyzers/dataflow-analyzer.d.ts +0 -29
  30. package/dist/analyzers/dataflow-analyzer.js +0 -425
  31. package/dist/analyzers/graphql-analyzer.d.ts +0 -22
  32. package/dist/analyzers/graphql-analyzer.js +0 -386
  33. package/dist/analyzers/pages-analyzer.d.ts +0 -84
  34. package/dist/analyzers/pages-analyzer.js +0 -1695
  35. package/dist/analyzers/rails/index.d.ts +0 -46
  36. package/dist/analyzers/rails/index.js +0 -145
  37. package/dist/analyzers/rails/rails-controller-analyzer.d.ts +0 -82
  38. package/dist/analyzers/rails/rails-controller-analyzer.js +0 -478
  39. package/dist/analyzers/rails/rails-grpc-analyzer.d.ts +0 -44
  40. package/dist/analyzers/rails/rails-grpc-analyzer.js +0 -262
  41. package/dist/analyzers/rails/rails-model-analyzer.d.ts +0 -88
  42. package/dist/analyzers/rails/rails-model-analyzer.js +0 -493
  43. package/dist/analyzers/rails/rails-react-analyzer.d.ts +0 -41
  44. package/dist/analyzers/rails/rails-react-analyzer.js +0 -529
  45. package/dist/analyzers/rails/rails-routes-analyzer.d.ts +0 -62
  46. package/dist/analyzers/rails/rails-routes-analyzer.js +0 -540
  47. package/dist/analyzers/rails/rails-view-analyzer.d.ts +0 -49
  48. package/dist/analyzers/rails/rails-view-analyzer.js +0 -386
  49. package/dist/analyzers/rails/ruby-parser.d.ts +0 -63
  50. package/dist/analyzers/rails/ruby-parser.js +0 -212
  51. package/dist/analyzers/rest-api-analyzer.d.ts +0 -65
  52. package/dist/analyzers/rest-api-analyzer.js +0 -479
  53. package/dist/core/cache.d.ts +0 -47
  54. package/dist/core/cache.js +0 -151
  55. package/dist/core/engine.d.ts +0 -46
  56. package/dist/core/engine.js +0 -319
  57. package/dist/core/index.d.ts +0 -2
  58. package/dist/core/index.js +0 -2
  59. package/dist/generators/markdown-generator.d.ts +0 -25
  60. package/dist/generators/markdown-generator.js +0 -782
  61. package/dist/generators/mermaid-generator.d.ts +0 -35
  62. package/dist/generators/mermaid-generator.js +0 -364
  63. package/dist/generators/page-map-generator.d.ts +0 -22
  64. package/dist/generators/rails-map-generator.d.ts +0 -21
  65. package/dist/server/doc-server.d.ts +0 -30
  66. package/dist/utils/env-detector.d.ts +0 -31
  67. package/dist/utils/env-detector.js +0 -188
  68. package/dist/utils/parallel.d.ts +0 -23
  69. 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
- }