@wtdlee/repomap 0.3.0 → 0.3.2

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 (72) hide show
  1. package/dist/analyzers/index.d.ts +69 -5
  2. package/dist/analyzers/index.js +1 -5
  3. package/dist/{server/doc-server.js → chunk-4K4MGTPV.js} +41 -329
  4. package/dist/chunk-6F4PWJZI.js +0 -0
  5. package/dist/chunk-J2CM7T7U.js +1 -0
  6. package/dist/{generators/page-map-generator.js → chunk-MOEA75XK.js} +278 -503
  7. package/dist/{generators/rails-map-generator.js → chunk-SL2GMDBN.js} +48 -129
  8. package/dist/chunk-UJT5KTVK.js +36 -0
  9. package/dist/chunk-VV3A3UE3.js +1 -0
  10. package/dist/chunk-XWZH2RDG.js +19 -0
  11. package/dist/cli.d.ts +0 -1
  12. package/dist/cli.js +29 -499
  13. package/dist/dataflow-analyzer-BfAiqVUp.d.ts +180 -0
  14. package/dist/env-detector-BIWJ7OYF.js +1 -0
  15. package/dist/generators/assets/common.css +564 -23
  16. package/dist/generators/index.d.ts +431 -3
  17. package/dist/generators/index.js +1 -3
  18. package/dist/index.d.ts +53 -10
  19. package/dist/index.js +1 -11
  20. package/dist/page-map-generator-XNZ4TDJT.js +1 -0
  21. package/dist/rails-TJCDGBBF.js +1 -0
  22. package/dist/rails-map-generator-JL5PKHYP.js +1 -0
  23. package/dist/server/index.d.ts +33 -1
  24. package/dist/server/index.js +1 -1
  25. package/dist/types.d.ts +39 -37
  26. package/dist/types.js +1 -5
  27. package/package.json +4 -2
  28. package/dist/analyzers/base-analyzer.d.ts +0 -45
  29. package/dist/analyzers/base-analyzer.js +0 -47
  30. package/dist/analyzers/dataflow-analyzer.d.ts +0 -29
  31. package/dist/analyzers/dataflow-analyzer.js +0 -425
  32. package/dist/analyzers/graphql-analyzer.d.ts +0 -22
  33. package/dist/analyzers/graphql-analyzer.js +0 -386
  34. package/dist/analyzers/pages-analyzer.d.ts +0 -84
  35. package/dist/analyzers/pages-analyzer.js +0 -1695
  36. package/dist/analyzers/rails/index.d.ts +0 -46
  37. package/dist/analyzers/rails/index.js +0 -145
  38. package/dist/analyzers/rails/rails-controller-analyzer.d.ts +0 -82
  39. package/dist/analyzers/rails/rails-controller-analyzer.js +0 -478
  40. package/dist/analyzers/rails/rails-grpc-analyzer.d.ts +0 -44
  41. package/dist/analyzers/rails/rails-grpc-analyzer.js +0 -262
  42. package/dist/analyzers/rails/rails-model-analyzer.d.ts +0 -88
  43. package/dist/analyzers/rails/rails-model-analyzer.js +0 -493
  44. package/dist/analyzers/rails/rails-react-analyzer.d.ts +0 -41
  45. package/dist/analyzers/rails/rails-react-analyzer.js +0 -529
  46. package/dist/analyzers/rails/rails-routes-analyzer.d.ts +0 -62
  47. package/dist/analyzers/rails/rails-routes-analyzer.js +0 -540
  48. package/dist/analyzers/rails/rails-view-analyzer.d.ts +0 -49
  49. package/dist/analyzers/rails/rails-view-analyzer.js +0 -386
  50. package/dist/analyzers/rails/ruby-parser.d.ts +0 -63
  51. package/dist/analyzers/rails/ruby-parser.js +0 -212
  52. package/dist/analyzers/rest-api-analyzer.d.ts +0 -65
  53. package/dist/analyzers/rest-api-analyzer.js +0 -479
  54. package/dist/core/cache.d.ts +0 -47
  55. package/dist/core/cache.js +0 -151
  56. package/dist/core/engine.d.ts +0 -46
  57. package/dist/core/engine.js +0 -319
  58. package/dist/core/index.d.ts +0 -2
  59. package/dist/core/index.js +0 -2
  60. package/dist/generators/markdown-generator.d.ts +0 -25
  61. package/dist/generators/markdown-generator.js +0 -782
  62. package/dist/generators/mermaid-generator.d.ts +0 -35
  63. package/dist/generators/mermaid-generator.js +0 -364
  64. package/dist/generators/page-map-generator.d.ts +0 -22
  65. package/dist/generators/rails-map-generator.d.ts +0 -21
  66. package/dist/server/doc-server.d.ts +0 -30
  67. package/dist/utils/env-detector.d.ts +0 -31
  68. package/dist/utils/env-detector.js +0 -188
  69. package/dist/utils/parallel.d.ts +0 -23
  70. package/dist/utils/parallel.js +0 -70
  71. package/dist/utils/port.d.ts +0 -15
  72. package/dist/utils/port.js +0 -41
@@ -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
- }