@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.
- package/dist/analyzers/index.d.ts +69 -5
- package/dist/analyzers/index.js +1 -5
- package/dist/{server/doc-server.js → chunk-4K4MGTPV.js} +41 -329
- package/dist/chunk-6F4PWJZI.js +0 -0
- package/dist/chunk-J2CM7T7U.js +1 -0
- package/dist/{generators/page-map-generator.js → chunk-MOEA75XK.js} +278 -503
- package/dist/{generators/rails-map-generator.js → chunk-SL2GMDBN.js} +48 -129
- package/dist/chunk-UJT5KTVK.js +36 -0
- package/dist/chunk-VV3A3UE3.js +1 -0
- package/dist/chunk-XWZH2RDG.js +19 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +29 -499
- package/dist/dataflow-analyzer-BfAiqVUp.d.ts +180 -0
- package/dist/env-detector-BIWJ7OYF.js +1 -0
- package/dist/generators/assets/common.css +564 -23
- package/dist/generators/index.d.ts +431 -3
- package/dist/generators/index.js +1 -3
- package/dist/index.d.ts +53 -10
- package/dist/index.js +1 -11
- package/dist/page-map-generator-XNZ4TDJT.js +1 -0
- package/dist/rails-TJCDGBBF.js +1 -0
- package/dist/rails-map-generator-JL5PKHYP.js +1 -0
- package/dist/server/index.d.ts +33 -1
- package/dist/server/index.js +1 -1
- package/dist/types.d.ts +39 -37
- package/dist/types.js +1 -5
- package/package.json +4 -2
- 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
- package/dist/utils/port.d.ts +0 -15
- package/dist/utils/port.js +0 -41
|
@@ -1,3 +1,431 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { AnalysisResult, CrossRepoLink, MermaidDiagram, DataFlow, DocumentationReport } from '../types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Mermaid diagram generator
|
|
5
|
+
* Mermaidダイアグラム生成器
|
|
6
|
+
*/
|
|
7
|
+
declare class MermaidGenerator {
|
|
8
|
+
/**
|
|
9
|
+
* Generate all diagrams from analysis result
|
|
10
|
+
*/
|
|
11
|
+
generateAll(results: AnalysisResult[], crossRepoLinks: CrossRepoLink[]): MermaidDiagram[];
|
|
12
|
+
/**
|
|
13
|
+
* Generate navigation flowchart - grouped by URL category
|
|
14
|
+
*/
|
|
15
|
+
generateNavigationDiagram(result: AnalysisResult): MermaidDiagram;
|
|
16
|
+
/**
|
|
17
|
+
* Generate data flow diagram
|
|
18
|
+
*/
|
|
19
|
+
generateDataFlowDiagram(result: AnalysisResult): MermaidDiagram;
|
|
20
|
+
/**
|
|
21
|
+
* Generate component hierarchy diagram
|
|
22
|
+
*/
|
|
23
|
+
generateComponentDiagram(result: AnalysisResult): MermaidDiagram;
|
|
24
|
+
/**
|
|
25
|
+
* Generate GraphQL operations diagram
|
|
26
|
+
*/
|
|
27
|
+
generateGraphQLDiagram(result: AnalysisResult): MermaidDiagram;
|
|
28
|
+
/**
|
|
29
|
+
* Generate cross-repository diagram
|
|
30
|
+
*/
|
|
31
|
+
generateCrossRepoDiagram(results: AnalysisResult[], crossRepoLinks: CrossRepoLink[]): MermaidDiagram;
|
|
32
|
+
/**
|
|
33
|
+
* Generate sequence diagram for a specific flow
|
|
34
|
+
*/
|
|
35
|
+
generateSequenceDiagram(flow: DataFlow): MermaidDiagram;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Markdown documentation generator
|
|
40
|
+
* Markdownドキュメント生成器
|
|
41
|
+
*/
|
|
42
|
+
declare class MarkdownGenerator {
|
|
43
|
+
/**
|
|
44
|
+
* Generate complete documentation
|
|
45
|
+
*/
|
|
46
|
+
generateDocumentation(report: DocumentationReport): Map<string, string>;
|
|
47
|
+
private generateIndex;
|
|
48
|
+
private generateRepoIndex;
|
|
49
|
+
private generatePagesDoc;
|
|
50
|
+
private generateComponentsDoc;
|
|
51
|
+
private extractFeatureFromPage;
|
|
52
|
+
private extractFeatureFromComponent;
|
|
53
|
+
private formatComponentDataOps;
|
|
54
|
+
private generateGraphQLDoc;
|
|
55
|
+
private formatGraphQLFields;
|
|
56
|
+
private generateDataFlowDoc;
|
|
57
|
+
private getPageOperations;
|
|
58
|
+
private generateCrossRepoDoc;
|
|
59
|
+
private createPageDataFlowDiagram;
|
|
60
|
+
private generateDiagramsDoc;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Environment detection utilities
|
|
65
|
+
* 環境検出ユーティリティ
|
|
66
|
+
*/
|
|
67
|
+
type EnvironmentType = 'nextjs' | 'react' | 'rails' | 'generic';
|
|
68
|
+
interface DetectedEnvironment {
|
|
69
|
+
type: EnvironmentType;
|
|
70
|
+
detected: boolean;
|
|
71
|
+
version?: string;
|
|
72
|
+
path: string;
|
|
73
|
+
features: string[];
|
|
74
|
+
}
|
|
75
|
+
interface EnvironmentDetectionResult {
|
|
76
|
+
environments: DetectedEnvironment[];
|
|
77
|
+
hasNextjs: boolean;
|
|
78
|
+
hasReact: boolean;
|
|
79
|
+
hasRails: boolean;
|
|
80
|
+
primary: EnvironmentType;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Rails Routes Analyzer using tree-sitter
|
|
85
|
+
* tree-sitterを使用してroutes.rbを解析する
|
|
86
|
+
*/
|
|
87
|
+
interface RailsRoute {
|
|
88
|
+
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'ALL';
|
|
89
|
+
path: string;
|
|
90
|
+
controller: string;
|
|
91
|
+
action: string;
|
|
92
|
+
name?: string;
|
|
93
|
+
namespace?: string;
|
|
94
|
+
authenticated?: boolean;
|
|
95
|
+
line: number;
|
|
96
|
+
}
|
|
97
|
+
interface ResourceInfo {
|
|
98
|
+
name: string;
|
|
99
|
+
controller: string;
|
|
100
|
+
only?: string[];
|
|
101
|
+
except?: string[];
|
|
102
|
+
nested: ResourceInfo[];
|
|
103
|
+
memberRoutes: RailsRoute[];
|
|
104
|
+
collectionRoutes: RailsRoute[];
|
|
105
|
+
line: number;
|
|
106
|
+
}
|
|
107
|
+
interface MountedEngine {
|
|
108
|
+
engine: string;
|
|
109
|
+
mountPath: string;
|
|
110
|
+
line: number;
|
|
111
|
+
}
|
|
112
|
+
interface RailsRoutesResult {
|
|
113
|
+
routes: RailsRoute[];
|
|
114
|
+
namespaces: string[];
|
|
115
|
+
resources: ResourceInfo[];
|
|
116
|
+
mountedEngines: MountedEngine[];
|
|
117
|
+
drawnFiles: string[];
|
|
118
|
+
errors: string[];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Rails Controller Analyzer using tree-sitter
|
|
123
|
+
* tree-sitterを使用してコントローラファイルを解析する
|
|
124
|
+
*/
|
|
125
|
+
interface ControllerInfo {
|
|
126
|
+
name: string;
|
|
127
|
+
filePath: string;
|
|
128
|
+
className: string;
|
|
129
|
+
parentClass: string;
|
|
130
|
+
namespace?: string;
|
|
131
|
+
actions: ActionInfo[];
|
|
132
|
+
beforeActions: FilterInfo[];
|
|
133
|
+
afterActions: FilterInfo[];
|
|
134
|
+
aroundActions: FilterInfo[];
|
|
135
|
+
skipBeforeActions: FilterInfo[];
|
|
136
|
+
concerns: string[];
|
|
137
|
+
helpers: string[];
|
|
138
|
+
rescueFrom: RescueInfo[];
|
|
139
|
+
layoutInfo?: LayoutInfo;
|
|
140
|
+
line: number;
|
|
141
|
+
}
|
|
142
|
+
interface InstanceVarAssignment {
|
|
143
|
+
name: string;
|
|
144
|
+
assignedType?: string;
|
|
145
|
+
assignedValue?: string;
|
|
146
|
+
line?: number;
|
|
147
|
+
}
|
|
148
|
+
interface ActionInfo {
|
|
149
|
+
name: string;
|
|
150
|
+
line: number;
|
|
151
|
+
visibility: 'public' | 'private' | 'protected';
|
|
152
|
+
parameters: string[];
|
|
153
|
+
rendersJson?: boolean;
|
|
154
|
+
rendersHtml?: boolean;
|
|
155
|
+
redirectsTo?: string;
|
|
156
|
+
respondsTo?: string[];
|
|
157
|
+
servicesCalled: string[];
|
|
158
|
+
modelsCalled: string[];
|
|
159
|
+
methodCalls: string[];
|
|
160
|
+
instanceVarAssignments?: InstanceVarAssignment[];
|
|
161
|
+
}
|
|
162
|
+
interface FilterInfo {
|
|
163
|
+
name: string;
|
|
164
|
+
only?: string[];
|
|
165
|
+
except?: string[];
|
|
166
|
+
if?: string;
|
|
167
|
+
unless?: string;
|
|
168
|
+
line: number;
|
|
169
|
+
}
|
|
170
|
+
interface RescueInfo {
|
|
171
|
+
exception: string;
|
|
172
|
+
handler: string;
|
|
173
|
+
line: number;
|
|
174
|
+
}
|
|
175
|
+
interface LayoutInfo {
|
|
176
|
+
name: string;
|
|
177
|
+
conditions?: string;
|
|
178
|
+
}
|
|
179
|
+
interface RailsControllersResult {
|
|
180
|
+
controllers: ControllerInfo[];
|
|
181
|
+
totalActions: number;
|
|
182
|
+
namespaces: string[];
|
|
183
|
+
concerns: string[];
|
|
184
|
+
errors: string[];
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Rails Model Analyzer using tree-sitter
|
|
189
|
+
* tree-sitterを使用してモデルファイルを解析する
|
|
190
|
+
*/
|
|
191
|
+
interface ModelInfo {
|
|
192
|
+
name: string;
|
|
193
|
+
filePath: string;
|
|
194
|
+
className: string;
|
|
195
|
+
parentClass: string;
|
|
196
|
+
tableName?: string;
|
|
197
|
+
associations: AssociationInfo[];
|
|
198
|
+
validations: ValidationInfo[];
|
|
199
|
+
callbacks: CallbackInfo[];
|
|
200
|
+
scopes: ScopeInfo[];
|
|
201
|
+
concerns: string[];
|
|
202
|
+
enums: EnumInfo[];
|
|
203
|
+
attributes: AttributeInfo[];
|
|
204
|
+
classMethodsCount: number;
|
|
205
|
+
instanceMethodsCount: number;
|
|
206
|
+
line: number;
|
|
207
|
+
}
|
|
208
|
+
interface AssociationInfo {
|
|
209
|
+
type: 'belongs_to' | 'has_one' | 'has_many' | 'has_and_belongs_to_many';
|
|
210
|
+
name: string;
|
|
211
|
+
className?: string;
|
|
212
|
+
foreignKey?: string;
|
|
213
|
+
through?: string;
|
|
214
|
+
polymorphic?: boolean;
|
|
215
|
+
dependent?: string;
|
|
216
|
+
optional?: boolean;
|
|
217
|
+
line: number;
|
|
218
|
+
}
|
|
219
|
+
interface ValidationInfo {
|
|
220
|
+
type: string;
|
|
221
|
+
attributes: string[];
|
|
222
|
+
options?: Record<string, string>;
|
|
223
|
+
line: number;
|
|
224
|
+
}
|
|
225
|
+
interface CallbackInfo {
|
|
226
|
+
type: string;
|
|
227
|
+
method: string;
|
|
228
|
+
conditions?: string;
|
|
229
|
+
line: number;
|
|
230
|
+
}
|
|
231
|
+
interface ScopeInfo {
|
|
232
|
+
name: string;
|
|
233
|
+
lambda: boolean;
|
|
234
|
+
line: number;
|
|
235
|
+
}
|
|
236
|
+
interface EnumInfo {
|
|
237
|
+
name: string;
|
|
238
|
+
values: string[];
|
|
239
|
+
line: number;
|
|
240
|
+
}
|
|
241
|
+
interface AttributeInfo {
|
|
242
|
+
name: string;
|
|
243
|
+
type?: string;
|
|
244
|
+
default?: string;
|
|
245
|
+
line: number;
|
|
246
|
+
}
|
|
247
|
+
interface RailsModelsResult {
|
|
248
|
+
models: ModelInfo[];
|
|
249
|
+
totalAssociations: number;
|
|
250
|
+
totalValidations: number;
|
|
251
|
+
concerns: string[];
|
|
252
|
+
namespaces: string[];
|
|
253
|
+
errors: string[];
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Rails gRPC Service Analyzer using tree-sitter
|
|
258
|
+
* tree-sitterを使用してgRPCサービスを解析する
|
|
259
|
+
*/
|
|
260
|
+
interface GrpcServiceInfo {
|
|
261
|
+
name: string;
|
|
262
|
+
filePath: string;
|
|
263
|
+
className: string;
|
|
264
|
+
parentClass: string;
|
|
265
|
+
namespace?: string;
|
|
266
|
+
protoService?: string;
|
|
267
|
+
rpcs: RpcMethodInfo[];
|
|
268
|
+
policies: string[];
|
|
269
|
+
serializers: string[];
|
|
270
|
+
concerns: string[];
|
|
271
|
+
line: number;
|
|
272
|
+
}
|
|
273
|
+
interface RpcMethodInfo {
|
|
274
|
+
name: string;
|
|
275
|
+
requestType?: string;
|
|
276
|
+
responseType?: string;
|
|
277
|
+
streaming?: 'none' | 'server' | 'client' | 'bidirectional';
|
|
278
|
+
policyMethod?: string;
|
|
279
|
+
modelsUsed: string[];
|
|
280
|
+
servicesUsed: string[];
|
|
281
|
+
line: number;
|
|
282
|
+
}
|
|
283
|
+
interface RailsGrpcResult {
|
|
284
|
+
services: GrpcServiceInfo[];
|
|
285
|
+
totalRpcs: number;
|
|
286
|
+
namespaces: string[];
|
|
287
|
+
errors: string[];
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
interface ReactComponentRef {
|
|
291
|
+
name: string;
|
|
292
|
+
propsVar?: string;
|
|
293
|
+
ssr?: boolean;
|
|
294
|
+
line?: number;
|
|
295
|
+
}
|
|
296
|
+
interface RailsViewInfo {
|
|
297
|
+
name: string;
|
|
298
|
+
path: string;
|
|
299
|
+
controller: string;
|
|
300
|
+
action: string;
|
|
301
|
+
format: string;
|
|
302
|
+
template: 'haml' | 'erb' | 'yml' | 'other';
|
|
303
|
+
routePath?: string;
|
|
304
|
+
partials: string[];
|
|
305
|
+
helpers: string[];
|
|
306
|
+
instanceVars: string[];
|
|
307
|
+
reactComponents: ReactComponentRef[];
|
|
308
|
+
line?: number;
|
|
309
|
+
}
|
|
310
|
+
interface RailsPageInfo {
|
|
311
|
+
route: string;
|
|
312
|
+
method: string;
|
|
313
|
+
controller: string;
|
|
314
|
+
action: string;
|
|
315
|
+
view?: RailsViewInfo;
|
|
316
|
+
apis: RailsApiCall[];
|
|
317
|
+
services: string[];
|
|
318
|
+
grpcCalls: string[];
|
|
319
|
+
modelAccess: string[];
|
|
320
|
+
}
|
|
321
|
+
interface RailsApiCall {
|
|
322
|
+
type: 'grpc' | 'service' | 'http' | 'internal';
|
|
323
|
+
name: string;
|
|
324
|
+
method?: string;
|
|
325
|
+
source: string;
|
|
326
|
+
line?: number;
|
|
327
|
+
}
|
|
328
|
+
interface RailsViewAnalysisResult {
|
|
329
|
+
views: RailsViewInfo[];
|
|
330
|
+
pages: RailsPageInfo[];
|
|
331
|
+
summary: {
|
|
332
|
+
totalViews: number;
|
|
333
|
+
totalPages: number;
|
|
334
|
+
byController: Record<string, number>;
|
|
335
|
+
byTemplate: Record<string, number>;
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
interface ReactComponentMapping {
|
|
340
|
+
name: string;
|
|
341
|
+
entryFile?: string;
|
|
342
|
+
sourceFile?: string;
|
|
343
|
+
importPath?: string;
|
|
344
|
+
ssr: boolean;
|
|
345
|
+
usedIn: ReactComponentUsage[];
|
|
346
|
+
}
|
|
347
|
+
interface ReactComponentUsage {
|
|
348
|
+
viewPath: string;
|
|
349
|
+
controller: string;
|
|
350
|
+
action: string;
|
|
351
|
+
propsVar?: string;
|
|
352
|
+
line?: number;
|
|
353
|
+
pattern: ReactMountPattern;
|
|
354
|
+
}
|
|
355
|
+
type ReactMountPattern = 'data-react-component' | 'render_react_component' | 'react_component' | 'redux_store' | 'stimulus-reflex' | 'turbo-frame-react';
|
|
356
|
+
interface ReactAnalysisResult {
|
|
357
|
+
components: ReactComponentMapping[];
|
|
358
|
+
entryPoints: EntryPointInfo[];
|
|
359
|
+
detectedPaths: DetectedPaths;
|
|
360
|
+
summary: {
|
|
361
|
+
totalComponents: number;
|
|
362
|
+
totalEntryPoints: number;
|
|
363
|
+
ssrComponents: number;
|
|
364
|
+
clientComponents: number;
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
interface EntryPointInfo {
|
|
368
|
+
file: string;
|
|
369
|
+
fullPath: string;
|
|
370
|
+
componentName: string;
|
|
371
|
+
imports: string[];
|
|
372
|
+
selector?: string;
|
|
373
|
+
}
|
|
374
|
+
interface DetectedPaths {
|
|
375
|
+
entryDirs: string[];
|
|
376
|
+
componentDirs: string[];
|
|
377
|
+
integrationPattern: 'react-rails' | 'react_on_rails' | 'webpacker' | 'vite' | 'custom' | 'unknown';
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Rails Analyzers - Index
|
|
382
|
+
* Rails分析モジュールのエクスポート
|
|
383
|
+
*/
|
|
384
|
+
|
|
385
|
+
interface RailsAnalysisResult {
|
|
386
|
+
routes: RailsRoutesResult;
|
|
387
|
+
controllers: RailsControllersResult;
|
|
388
|
+
models: RailsModelsResult;
|
|
389
|
+
grpc: RailsGrpcResult;
|
|
390
|
+
views: RailsViewAnalysisResult;
|
|
391
|
+
react: ReactAnalysisResult;
|
|
392
|
+
summary: RailsSummary;
|
|
393
|
+
}
|
|
394
|
+
interface RailsSummary {
|
|
395
|
+
totalRoutes: number;
|
|
396
|
+
totalControllers: number;
|
|
397
|
+
totalActions: number;
|
|
398
|
+
totalModels: number;
|
|
399
|
+
totalAssociations: number;
|
|
400
|
+
totalValidations: number;
|
|
401
|
+
totalGrpcServices: number;
|
|
402
|
+
totalRpcs: number;
|
|
403
|
+
totalViews: number;
|
|
404
|
+
totalPages: number;
|
|
405
|
+
totalReactComponents: number;
|
|
406
|
+
ssrReactComponents: number;
|
|
407
|
+
namespaces: string[];
|
|
408
|
+
concerns: string[];
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
interface PageMapOptions {
|
|
412
|
+
envResult?: EnvironmentDetectionResult | null;
|
|
413
|
+
railsAnalysis?: RailsAnalysisResult | null;
|
|
414
|
+
activeTab?: 'pages' | 'rails' | 'api';
|
|
415
|
+
staticMode?: boolean;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Interactive page map generator
|
|
419
|
+
*/
|
|
420
|
+
declare class PageMapGenerator {
|
|
421
|
+
private graphqlOps;
|
|
422
|
+
private apiCalls;
|
|
423
|
+
private components;
|
|
424
|
+
generatePageMapHtml(report: DocumentationReport, options?: PageMapOptions): string;
|
|
425
|
+
private buildHierarchy;
|
|
426
|
+
private renderPageMapHtml;
|
|
427
|
+
private buildTreeHtml;
|
|
428
|
+
private getPageType;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export { MarkdownGenerator, MermaidGenerator, PageMapGenerator, type PageMapOptions };
|
package/dist/generators/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { DocGeneratorConfig, DocumentationReport } from './types.js';
|
|
2
|
+
export { APICall, APIConnection, APIEndpoint, AnalysisConfig, AnalysisResult, AnalyzerType, AssociationInfo, AttributeInfo, AuthRequirement, ComponentInfo, CrossRepoAnalysis, CrossRepoLink, DataFetchingInfo, DataFlow, DataFlowNode, DiagramConfig, DiagramType, GraphQLField, GraphQLOperation, IntegrationsConfig, MermaidDiagram, ModelInfo, NavigationFlow, NavigationInfo, PageInfo, ParameterInfo, PropInfo, RepositoryConfig, RepositoryReport, RepositorySummary, ResponseInfo, SiteConfig, StepInfo, VariableInfo, WatchConfig } from './types.js';
|
|
3
|
+
export { B as BaseAnalyzer, D as DataFlowAnalyzer, G as GraphQLAnalyzer, P as PagesAnalyzer } from './dataflow-analyzer-BfAiqVUp.js';
|
|
4
|
+
export { MarkdownGenerator, MermaidGenerator, PageMapGenerator, PageMapOptions } from './generators/index.js';
|
|
5
|
+
export { DocServer, DocServerOptions } from './server/index.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Main documentation generation engine
|
|
9
|
+
* メインドキュメント生成エンジン
|
|
10
|
+
*/
|
|
11
|
+
declare class DocGeneratorEngine {
|
|
12
|
+
private config;
|
|
13
|
+
private mermaidGenerator;
|
|
14
|
+
private markdownGenerator;
|
|
15
|
+
private noCache;
|
|
16
|
+
constructor(config: DocGeneratorConfig, options?: {
|
|
17
|
+
noCache?: boolean;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Run documentation generation for all configured repositories
|
|
21
|
+
*/
|
|
22
|
+
generate(): Promise<DocumentationReport>;
|
|
23
|
+
/**
|
|
24
|
+
* Analyze a single repository (with caching)
|
|
25
|
+
*/
|
|
26
|
+
private analyzeRepository;
|
|
27
|
+
/**
|
|
28
|
+
* Get repository version and commit info
|
|
29
|
+
*/
|
|
30
|
+
private getRepoInfo;
|
|
31
|
+
/**
|
|
32
|
+
* Create analyzer instance based on type
|
|
33
|
+
*/
|
|
34
|
+
private createAnalyzer;
|
|
35
|
+
/**
|
|
36
|
+
* Merge multiple analysis results
|
|
37
|
+
*/
|
|
38
|
+
private mergeAnalysisResults;
|
|
39
|
+
/**
|
|
40
|
+
* Analyze cross-repository relationships
|
|
41
|
+
*/
|
|
42
|
+
private analyzeCrossRepo;
|
|
43
|
+
/**
|
|
44
|
+
* Extract cross-repository links
|
|
45
|
+
*/
|
|
46
|
+
private extractCrossRepoLinks;
|
|
47
|
+
/**
|
|
48
|
+
* Write documentation to output directory
|
|
49
|
+
*/
|
|
50
|
+
private writeDocumentation;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { DocGeneratorConfig, DocGeneratorEngine, DocumentationReport };
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export * from './types.js';
|
|
3
|
-
export * from './core/engine.js';
|
|
4
|
-
export * from './analyzers/base-analyzer.js';
|
|
5
|
-
export * from './analyzers/pages-analyzer.js';
|
|
6
|
-
export * from './analyzers/graphql-analyzer.js';
|
|
7
|
-
export * from './analyzers/dataflow-analyzer.js';
|
|
8
|
-
export * from './generators/mermaid-generator.js';
|
|
9
|
-
export * from './generators/markdown-generator.js';
|
|
10
|
-
export * from './generators/page-map-generator.js';
|
|
11
|
-
export * from './server/doc-server.js';
|
|
1
|
+
import'./chunk-6F4PWJZI.js';export{a as DocGeneratorEngine,b as DocServer}from'./chunk-4K4MGTPV.js';import'./chunk-SL2GMDBN.js';import'./chunk-VV3A3UE3.js';export{a as BaseAnalyzer,d as DataFlowAnalyzer,c as GraphQLAnalyzer,b as PagesAnalyzer}from'./chunk-J2CM7T7U.js';export{b as MarkdownGenerator,a as MermaidGenerator}from'./chunk-XWZH2RDG.js';export{a as PageMapGenerator}from'./chunk-MOEA75XK.js';import'./chunk-UJT5KTVK.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as PageMapGenerator}from'./chunk-MOEA75XK.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{f as RailsControllerAnalyzer,h as RailsGrpcAnalyzer,g as RailsModelAnalyzer,e as RailsRoutesAnalyzer,k as analyzeRailsApp,i as analyzeRailsViews,j as analyzeReactComponents,d as findNodes,a as initRubyParser,b as parseRuby,c as parseRubyFile}from'./chunk-UJT5KTVK.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as RailsMapGenerator}from'./chunk-SL2GMDBN.js';import'./chunk-UJT5KTVK.js';
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
import { DocGeneratorConfig } from '../types.js';
|
|
2
|
+
|
|
3
|
+
interface DocServerOptions {
|
|
4
|
+
noCache?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Documentation server with live reload
|
|
8
|
+
* ライブリロード機能付きドキュメントサーバー
|
|
9
|
+
*/
|
|
10
|
+
declare class DocServer {
|
|
11
|
+
private config;
|
|
12
|
+
private port;
|
|
13
|
+
private app;
|
|
14
|
+
private server;
|
|
15
|
+
private io;
|
|
16
|
+
private engine;
|
|
17
|
+
private currentReport;
|
|
18
|
+
private envResult;
|
|
19
|
+
private railsAnalysis;
|
|
20
|
+
constructor(config: DocGeneratorConfig, port?: number, options?: DocServerOptions);
|
|
21
|
+
private setupRoutes;
|
|
22
|
+
private setupSocketIO;
|
|
23
|
+
private renderPage;
|
|
24
|
+
private getGraphQLData;
|
|
25
|
+
private getApiCallsData;
|
|
26
|
+
private getHtmlTemplate;
|
|
27
|
+
start(openBrowser?: boolean): Promise<void>;
|
|
28
|
+
private regenerate;
|
|
29
|
+
private watchForChanges;
|
|
30
|
+
stop(): void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { DocServer, type DocServerOptions };
|
package/dist/server/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{b as DocServer}from'../chunk-4K4MGTPV.js';import'../chunk-SL2GMDBN.js';import'../chunk-VV3A3UE3.js';import'../chunk-J2CM7T7U.js';import'../chunk-XWZH2RDG.js';import'../chunk-MOEA75XK.js';import'../chunk-UJT5KTVK.js';
|