@wtdlee/repomap 0.6.0 → 0.8.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/README.md +61 -13
- package/dist/analyzers/index.d.ts +175 -25
- package/dist/analyzers/index.js +1 -1
- package/dist/{chunk-QZWPOG5B.js → chunk-GCIRJGW3.js} +78 -45
- package/dist/chunk-H7VVRHQZ.js +34 -0
- package/dist/chunk-HPBPEGHS.js +19 -0
- package/dist/{chunk-WQANJ7IA.js → chunk-JDM7Y7PX.js} +34 -28
- package/dist/{chunk-H4YGP3GL.js → chunk-OQAXO3X2.js} +346 -22
- package/dist/chunk-TNUKDIO7.js +5 -0
- package/dist/cli.js +21 -35
- package/dist/dataflow-analyzer-CJ2T0cGS.d.ts +345 -0
- package/dist/generators/assets/docs.css +176 -46
- package/dist/generators/assets/favicon/apple-touch-icon.png +0 -0
- package/dist/generators/assets/favicon/favicon-96x96.png +0 -0
- package/dist/generators/assets/favicon/favicon.ico +0 -0
- package/dist/generators/assets/favicon/favicon.svg +3 -0
- package/dist/generators/assets/favicon/site.webmanifest +21 -0
- package/dist/generators/assets/favicon/web-app-manifest-192x192.png +0 -0
- package/dist/generators/assets/favicon/web-app-manifest-512x512.png +0 -0
- package/dist/generators/assets/page-map.css +392 -87
- package/dist/generators/assets/rails-map.css +221 -48
- package/dist/generators/index.d.ts +0 -8
- package/dist/generators/index.js +1 -1
- package/dist/index.d.ts +18 -9
- package/dist/index.js +1 -1
- package/dist/page-map-generator-3GO6GL2P.js +1 -0
- package/dist/{rails-FFISZ4AE.js → rails-3HNUFTQV.js} +1 -1
- package/dist/rails-map-generator-CAQZUBI6.js +1 -0
- package/dist/server/index.d.ts +2 -6
- package/dist/server/index.js +1 -1
- package/dist/types.d.ts +12 -3
- package/package.json +1 -5
- package/dist/chunk-BPV4UZSW.js +0 -2
- package/dist/chunk-PTR5IROV.js +0 -36
- package/dist/chunk-XWZH2RDG.js +0 -19
- package/dist/dataflow-analyzer-s6ufFkKC.d.ts +0 -215
- package/dist/page-map-generator-HBKSOX2E.js +0 -1
- package/dist/rails-map-generator-UFLCMFAT.js +0 -1
|
@@ -66,14 +66,22 @@ header h1 {
|
|
|
66
66
|
transition: background 0.2s;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
.stat:hover {
|
|
69
|
+
.stat:hover {
|
|
70
|
+
background: var(--bg-tertiary);
|
|
71
|
+
}
|
|
70
72
|
.stat.active {
|
|
71
73
|
background: var(--bg-tertiary);
|
|
72
74
|
box-shadow: inset 0 0 0 1px var(--accent-blue);
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
.stat-value {
|
|
76
|
-
|
|
77
|
+
.stat-value {
|
|
78
|
+
font-size: 18px;
|
|
79
|
+
font-weight: 600;
|
|
80
|
+
}
|
|
81
|
+
.stat-label {
|
|
82
|
+
color: var(--text-secondary);
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
}
|
|
77
85
|
|
|
78
86
|
/* Container Layout */
|
|
79
87
|
.container {
|
|
@@ -159,7 +167,10 @@ header h1 {
|
|
|
159
167
|
}
|
|
160
168
|
|
|
161
169
|
/* Namespace List */
|
|
162
|
-
.namespace-list {
|
|
170
|
+
.namespace-list {
|
|
171
|
+
max-height: none;
|
|
172
|
+
overflow-y: auto;
|
|
173
|
+
}
|
|
163
174
|
|
|
164
175
|
/* Panel Count */
|
|
165
176
|
.panel-count {
|
|
@@ -210,8 +221,13 @@ header h1 {
|
|
|
210
221
|
gap: 6px;
|
|
211
222
|
}
|
|
212
223
|
|
|
213
|
-
.namespace-item:hover {
|
|
214
|
-
|
|
224
|
+
.namespace-item:hover {
|
|
225
|
+
background: var(--bg-tertiary);
|
|
226
|
+
}
|
|
227
|
+
.namespace-item.active {
|
|
228
|
+
background: var(--accent-blue);
|
|
229
|
+
color: white;
|
|
230
|
+
}
|
|
215
231
|
|
|
216
232
|
.namespace-count {
|
|
217
233
|
background: var(--bg-tertiary);
|
|
@@ -222,7 +238,10 @@ header h1 {
|
|
|
222
238
|
}
|
|
223
239
|
|
|
224
240
|
/* Main Panel */
|
|
225
|
-
.main-panel {
|
|
241
|
+
.main-panel {
|
|
242
|
+
overflow-y: auto;
|
|
243
|
+
padding: 20px;
|
|
244
|
+
}
|
|
226
245
|
|
|
227
246
|
.panel-header {
|
|
228
247
|
display: flex;
|
|
@@ -231,7 +250,10 @@ header h1 {
|
|
|
231
250
|
margin-bottom: 16px;
|
|
232
251
|
}
|
|
233
252
|
|
|
234
|
-
.panel-title {
|
|
253
|
+
.panel-title {
|
|
254
|
+
font-size: 16px;
|
|
255
|
+
font-weight: 600;
|
|
256
|
+
}
|
|
235
257
|
|
|
236
258
|
/* View Toggle */
|
|
237
259
|
.view-toggle {
|
|
@@ -258,8 +280,8 @@ header h1 {
|
|
|
258
280
|
}
|
|
259
281
|
|
|
260
282
|
/* Routes Table */
|
|
261
|
-
.routes-table {
|
|
262
|
-
width: 100%;
|
|
283
|
+
.routes-table {
|
|
284
|
+
width: 100%;
|
|
263
285
|
border-collapse: collapse;
|
|
264
286
|
table-layout: fixed;
|
|
265
287
|
}
|
|
@@ -274,11 +296,17 @@ header h1 {
|
|
|
274
296
|
}
|
|
275
297
|
|
|
276
298
|
.routes-table th:nth-child(1),
|
|
277
|
-
.routes-table td:nth-child(1) {
|
|
299
|
+
.routes-table td:nth-child(1) {
|
|
300
|
+
width: 120px;
|
|
301
|
+
}
|
|
278
302
|
.routes-table th:nth-child(2),
|
|
279
|
-
.routes-table td:nth-child(2) {
|
|
303
|
+
.routes-table td:nth-child(2) {
|
|
304
|
+
width: 45%;
|
|
305
|
+
}
|
|
280
306
|
.routes-table th:nth-child(3),
|
|
281
|
-
.routes-table td:nth-child(3) {
|
|
307
|
+
.routes-table td:nth-child(3) {
|
|
308
|
+
width: auto;
|
|
309
|
+
}
|
|
282
310
|
|
|
283
311
|
.routes-table th {
|
|
284
312
|
background: var(--bg-secondary);
|
|
@@ -290,8 +318,12 @@ header h1 {
|
|
|
290
318
|
top: 0;
|
|
291
319
|
}
|
|
292
320
|
|
|
293
|
-
.routes-table tr {
|
|
294
|
-
|
|
321
|
+
.routes-table tr {
|
|
322
|
+
cursor: pointer;
|
|
323
|
+
}
|
|
324
|
+
.routes-table tr:hover {
|
|
325
|
+
background: var(--bg-secondary);
|
|
326
|
+
}
|
|
295
327
|
|
|
296
328
|
/* Method Badges */
|
|
297
329
|
.method-badge {
|
|
@@ -302,16 +334,40 @@ header h1 {
|
|
|
302
334
|
text-transform: uppercase;
|
|
303
335
|
}
|
|
304
336
|
|
|
305
|
-
.method-GET {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
.method-
|
|
337
|
+
.method-GET {
|
|
338
|
+
background: #238636;
|
|
339
|
+
color: white;
|
|
340
|
+
}
|
|
341
|
+
.method-POST {
|
|
342
|
+
background: #1f6feb;
|
|
343
|
+
color: white;
|
|
344
|
+
}
|
|
345
|
+
.method-PUT,
|
|
346
|
+
.method-PATCH {
|
|
347
|
+
background: #9e6a03;
|
|
348
|
+
color: white;
|
|
349
|
+
}
|
|
350
|
+
.method-DELETE {
|
|
351
|
+
background: #da3633;
|
|
352
|
+
color: white;
|
|
353
|
+
}
|
|
354
|
+
.method-ALL {
|
|
355
|
+
background: #6e7681;
|
|
356
|
+
color: white;
|
|
357
|
+
}
|
|
310
358
|
|
|
311
359
|
/* Path Text */
|
|
312
|
-
.path-text {
|
|
313
|
-
|
|
314
|
-
|
|
360
|
+
.path-text {
|
|
361
|
+
font-family: 'SF Mono', Monaco, monospace;
|
|
362
|
+
font-size: 13px;
|
|
363
|
+
}
|
|
364
|
+
.param {
|
|
365
|
+
color: var(--accent-orange);
|
|
366
|
+
}
|
|
367
|
+
.controller-text {
|
|
368
|
+
color: var(--text-secondary);
|
|
369
|
+
font-size: 13px;
|
|
370
|
+
}
|
|
315
371
|
|
|
316
372
|
/* Detail Panel */
|
|
317
373
|
.detail-panel {
|
|
@@ -328,7 +384,10 @@ header h1 {
|
|
|
328
384
|
justify-content: space-between;
|
|
329
385
|
}
|
|
330
386
|
|
|
331
|
-
.detail-title {
|
|
387
|
+
.detail-title {
|
|
388
|
+
font-size: 14px;
|
|
389
|
+
font-weight: 600;
|
|
390
|
+
}
|
|
332
391
|
|
|
333
392
|
.close-btn {
|
|
334
393
|
background: none;
|
|
@@ -338,9 +397,13 @@ header h1 {
|
|
|
338
397
|
font-size: 18px;
|
|
339
398
|
}
|
|
340
399
|
|
|
341
|
-
.detail-content {
|
|
400
|
+
.detail-content {
|
|
401
|
+
padding: 16px;
|
|
402
|
+
}
|
|
342
403
|
|
|
343
|
-
.detail-section {
|
|
404
|
+
.detail-section {
|
|
405
|
+
margin-bottom: 20px;
|
|
406
|
+
}
|
|
344
407
|
|
|
345
408
|
.detail-section-title {
|
|
346
409
|
font-size: 11px;
|
|
@@ -376,11 +439,26 @@ header h1 {
|
|
|
376
439
|
margin-right: 6px;
|
|
377
440
|
}
|
|
378
441
|
|
|
379
|
-
.tag-blue {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
.tag-
|
|
442
|
+
.tag-blue {
|
|
443
|
+
background: rgba(88, 166, 255, 0.2);
|
|
444
|
+
color: var(--accent-blue);
|
|
445
|
+
}
|
|
446
|
+
.tag-green {
|
|
447
|
+
background: rgba(63, 185, 80, 0.2);
|
|
448
|
+
color: var(--accent-green);
|
|
449
|
+
}
|
|
450
|
+
.tag-purple {
|
|
451
|
+
background: rgba(163, 113, 247, 0.2);
|
|
452
|
+
color: var(--accent-purple);
|
|
453
|
+
}
|
|
454
|
+
.tag-orange {
|
|
455
|
+
background: rgba(210, 153, 34, 0.2);
|
|
456
|
+
color: var(--accent-orange);
|
|
457
|
+
}
|
|
458
|
+
.tag-pink {
|
|
459
|
+
background: rgba(219, 97, 162, 0.2);
|
|
460
|
+
color: var(--accent-pink);
|
|
461
|
+
}
|
|
384
462
|
|
|
385
463
|
/* Empty State */
|
|
386
464
|
.empty-state {
|
|
@@ -389,7 +467,10 @@ header h1 {
|
|
|
389
467
|
color: var(--text-secondary);
|
|
390
468
|
}
|
|
391
469
|
|
|
392
|
-
.empty-state-icon {
|
|
470
|
+
.empty-state-icon {
|
|
471
|
+
font-size: 48px;
|
|
472
|
+
margin-bottom: 16px;
|
|
473
|
+
}
|
|
393
474
|
|
|
394
475
|
/* Model Card */
|
|
395
476
|
.model-card {
|
|
@@ -402,7 +483,9 @@ header h1 {
|
|
|
402
483
|
transition: border-color 0.2s;
|
|
403
484
|
}
|
|
404
485
|
|
|
405
|
-
.model-card:hover {
|
|
486
|
+
.model-card:hover {
|
|
487
|
+
border-color: var(--accent-blue);
|
|
488
|
+
}
|
|
406
489
|
|
|
407
490
|
.model-name {
|
|
408
491
|
font-weight: 600;
|
|
@@ -437,12 +520,25 @@ header h1 {
|
|
|
437
520
|
justify-content: space-between;
|
|
438
521
|
}
|
|
439
522
|
|
|
440
|
-
.controller-header:hover {
|
|
441
|
-
|
|
442
|
-
|
|
523
|
+
.controller-header:hover {
|
|
524
|
+
background: var(--bg-tertiary);
|
|
525
|
+
}
|
|
526
|
+
.controller-name {
|
|
527
|
+
font-weight: 600;
|
|
528
|
+
font-size: 14px;
|
|
529
|
+
}
|
|
530
|
+
.controller-namespace {
|
|
531
|
+
color: var(--text-secondary);
|
|
532
|
+
font-size: 12px;
|
|
533
|
+
}
|
|
443
534
|
|
|
444
|
-
.controller-actions {
|
|
445
|
-
|
|
535
|
+
.controller-actions {
|
|
536
|
+
padding: 8px;
|
|
537
|
+
display: none;
|
|
538
|
+
}
|
|
539
|
+
.controller-card.expanded .controller-actions {
|
|
540
|
+
display: block;
|
|
541
|
+
}
|
|
446
542
|
|
|
447
543
|
.action-item {
|
|
448
544
|
padding: 6px 12px;
|
|
@@ -452,22 +548,99 @@ header h1 {
|
|
|
452
548
|
gap: 8px;
|
|
453
549
|
}
|
|
454
550
|
|
|
455
|
-
.action-visibility {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
551
|
+
.action-visibility {
|
|
552
|
+
width: 8px;
|
|
553
|
+
height: 8px;
|
|
554
|
+
border-radius: 50%;
|
|
555
|
+
}
|
|
556
|
+
.visibility-public {
|
|
557
|
+
background: var(--accent-green);
|
|
558
|
+
}
|
|
559
|
+
.visibility-private {
|
|
560
|
+
background: var(--accent-red);
|
|
561
|
+
}
|
|
562
|
+
.visibility-protected {
|
|
563
|
+
background: var(--accent-orange);
|
|
564
|
+
}
|
|
459
565
|
|
|
460
566
|
/* Mermaid Container */
|
|
461
567
|
.mermaid-container {
|
|
462
568
|
background: var(--bg-secondary);
|
|
463
569
|
border-radius: 8px;
|
|
464
570
|
padding: 20px;
|
|
465
|
-
overflow
|
|
571
|
+
overflow: hidden;
|
|
572
|
+
position: relative;
|
|
573
|
+
min-height: 300px;
|
|
574
|
+
cursor: grab;
|
|
466
575
|
}
|
|
467
576
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
577
|
+
.mermaid-container:active {
|
|
578
|
+
cursor: grabbing;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
.diagram-controls button {
|
|
582
|
+
width: 28px;
|
|
583
|
+
height: 28px;
|
|
584
|
+
border: none;
|
|
585
|
+
border-radius: 4px;
|
|
586
|
+
background: var(--bg-primary);
|
|
587
|
+
color: var(--text-primary);
|
|
588
|
+
font-size: 16px;
|
|
589
|
+
cursor: pointer;
|
|
590
|
+
display: flex;
|
|
591
|
+
align-items: center;
|
|
592
|
+
justify-content: center;
|
|
593
|
+
transition: background 0.2s;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
.diagram-controls button:hover {
|
|
597
|
+
background: var(--accent);
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/* Fullscreen mode */
|
|
601
|
+
.mermaid-container:fullscreen {
|
|
602
|
+
background: var(--bg-primary);
|
|
603
|
+
padding: 40px;
|
|
604
|
+
display: flex;
|
|
605
|
+
align-items: center;
|
|
606
|
+
justify-content: center;
|
|
607
|
+
}
|
|
473
608
|
|
|
609
|
+
.mermaid-container:fullscreen svg {
|
|
610
|
+
max-width: none;
|
|
611
|
+
max-height: none;
|
|
612
|
+
cursor: pointer;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
.mermaid-container:fullscreen .diagram-controls {
|
|
616
|
+
position: fixed;
|
|
617
|
+
top: 16px;
|
|
618
|
+
right: 16px;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/* Detail panel in fullscreen - overlay style */
|
|
622
|
+
.mermaid-container:fullscreen ~ .detail-panel,
|
|
623
|
+
body:has(.mermaid-container:fullscreen) .detail-panel.open {
|
|
624
|
+
position: fixed;
|
|
625
|
+
right: 0;
|
|
626
|
+
top: 0;
|
|
627
|
+
height: 100vh;
|
|
628
|
+
z-index: 10001;
|
|
629
|
+
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/* Scrollbar */
|
|
633
|
+
::-webkit-scrollbar {
|
|
634
|
+
width: 8px;
|
|
635
|
+
height: 8px;
|
|
636
|
+
}
|
|
637
|
+
::-webkit-scrollbar-track {
|
|
638
|
+
background: var(--bg-primary);
|
|
639
|
+
}
|
|
640
|
+
::-webkit-scrollbar-thumb {
|
|
641
|
+
background: var(--border-color);
|
|
642
|
+
border-radius: 4px;
|
|
643
|
+
}
|
|
644
|
+
::-webkit-scrollbar-thumb:hover {
|
|
645
|
+
background: var(--text-muted);
|
|
646
|
+
}
|
|
@@ -2,7 +2,6 @@ import { AnalysisResult, CrossRepoLink, MermaidDiagram, DataFlow, DocumentationR
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Mermaid diagram generator
|
|
5
|
-
* Mermaidダイアグラム生成器
|
|
6
5
|
*/
|
|
7
6
|
declare class MermaidGenerator {
|
|
8
7
|
/**
|
|
@@ -37,7 +36,6 @@ declare class MermaidGenerator {
|
|
|
37
36
|
|
|
38
37
|
/**
|
|
39
38
|
* Markdown documentation generator
|
|
40
|
-
* Markdownドキュメント生成器
|
|
41
39
|
*/
|
|
42
40
|
declare class MarkdownGenerator {
|
|
43
41
|
/**
|
|
@@ -62,7 +60,6 @@ declare class MarkdownGenerator {
|
|
|
62
60
|
|
|
63
61
|
/**
|
|
64
62
|
* Environment detection utilities
|
|
65
|
-
* 環境検出ユーティリティ
|
|
66
63
|
*/
|
|
67
64
|
type EnvironmentType = 'nextjs' | 'react' | 'rails' | 'generic';
|
|
68
65
|
interface DetectedEnvironment {
|
|
@@ -82,7 +79,6 @@ interface EnvironmentDetectionResult {
|
|
|
82
79
|
|
|
83
80
|
/**
|
|
84
81
|
* Rails Routes Analyzer using tree-sitter
|
|
85
|
-
* tree-sitterを使用してroutes.rbを解析する
|
|
86
82
|
*/
|
|
87
83
|
interface RailsRoute {
|
|
88
84
|
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'ALL';
|
|
@@ -120,7 +116,6 @@ interface RailsRoutesResult {
|
|
|
120
116
|
|
|
121
117
|
/**
|
|
122
118
|
* Rails Controller Analyzer using tree-sitter
|
|
123
|
-
* tree-sitterを使用してコントローラファイルを解析する
|
|
124
119
|
*/
|
|
125
120
|
interface ControllerInfo {
|
|
126
121
|
name: string;
|
|
@@ -186,7 +181,6 @@ interface RailsControllersResult {
|
|
|
186
181
|
|
|
187
182
|
/**
|
|
188
183
|
* Rails Model Analyzer using tree-sitter
|
|
189
|
-
* tree-sitterを使用してモデルファイルを解析する
|
|
190
184
|
*/
|
|
191
185
|
interface ModelInfo {
|
|
192
186
|
name: string;
|
|
@@ -255,7 +249,6 @@ interface RailsModelsResult {
|
|
|
255
249
|
|
|
256
250
|
/**
|
|
257
251
|
* Rails gRPC Service Analyzer using tree-sitter
|
|
258
|
-
* tree-sitterを使用してgRPCサービスを解析する
|
|
259
252
|
*/
|
|
260
253
|
interface GrpcServiceInfo {
|
|
261
254
|
name: string;
|
|
@@ -379,7 +372,6 @@ interface DetectedPaths {
|
|
|
379
372
|
|
|
380
373
|
/**
|
|
381
374
|
* Rails Analyzers - Index
|
|
382
|
-
* Rails分析モジュールのエクスポート
|
|
383
375
|
*/
|
|
384
376
|
|
|
385
377
|
interface RailsAnalysisResult {
|
package/dist/generators/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{b as MarkdownGenerator,a as MermaidGenerator}from'../chunk-
|
|
1
|
+
export{b as MarkdownGenerator,a as MermaidGenerator}from'../chunk-HPBPEGHS.js';export{a as PageMapGenerator}from'../chunk-GCIRJGW3.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,27 +1,23 @@
|
|
|
1
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-
|
|
2
|
+
export { APICall, APIConnection, APIEndpoint, AnalysisConfig, AnalysisResult, AnalyzerType, AssociationInfo, AttributeInfo, AuthRequirement, ComponentInfo, CrossRepoAnalysis, CrossRepoLink, DataFetchingInfo, DataFlow, DataFlowNode, DiagramConfig, DiagramType, GraphQLField, GraphQLOperation, ImportInfo, 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-CJ2T0cGS.js';
|
|
4
4
|
export { MarkdownGenerator, MermaidGenerator, PageMapGenerator, PageMapOptions } from './generators/index.js';
|
|
5
|
-
export { DocServer
|
|
5
|
+
export { DocServer } from './server/index.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Main documentation generation engine
|
|
9
|
-
* メインドキュメント生成エンジン
|
|
10
9
|
*/
|
|
11
10
|
declare class DocGeneratorEngine {
|
|
12
11
|
private config;
|
|
13
12
|
private mermaidGenerator;
|
|
14
13
|
private markdownGenerator;
|
|
15
|
-
|
|
16
|
-
constructor(config: DocGeneratorConfig, options?: {
|
|
17
|
-
noCache?: boolean;
|
|
18
|
-
});
|
|
14
|
+
constructor(config: DocGeneratorConfig);
|
|
19
15
|
/**
|
|
20
16
|
* Run documentation generation for all configured repositories
|
|
21
17
|
*/
|
|
22
18
|
generate(): Promise<DocumentationReport>;
|
|
23
19
|
/**
|
|
24
|
-
* Analyze a single repository
|
|
20
|
+
* Analyze a single repository
|
|
25
21
|
*/
|
|
26
22
|
private analyzeRepository;
|
|
27
23
|
/**
|
|
@@ -44,6 +40,19 @@ declare class DocGeneratorEngine {
|
|
|
44
40
|
* Extract cross-repository links
|
|
45
41
|
*/
|
|
46
42
|
private extractCrossRepoLinks;
|
|
43
|
+
/**
|
|
44
|
+
* Enrich pages with GraphQL operations from custom hooks and imported variables
|
|
45
|
+
* Links GraphQL operations to pages via custom hooks and imported variables
|
|
46
|
+
*
|
|
47
|
+
* Strategy:
|
|
48
|
+
* 1. Build hookName → GraphQL operations mapping from:
|
|
49
|
+
* - graphqlOperations.filePath (hook files contain GraphQL definitions)
|
|
50
|
+
* - components with type='hook' and their hooks array
|
|
51
|
+
* 2. Build variableName → GraphQL operations mapping from:
|
|
52
|
+
* - graphqlOperations.variableNames (e.g., "Query" → "GetNewProfile")
|
|
53
|
+
* 3. For each page/component, add matched GraphQL operations to dataFetching
|
|
54
|
+
*/
|
|
55
|
+
private enrichPagesWithHookGraphQL;
|
|
47
56
|
/**
|
|
48
57
|
* Write documentation to output directory
|
|
49
58
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import'./chunk-6F4PWJZI.js';export{a as DocGeneratorEngine,b as DocServer}from'./chunk-
|
|
1
|
+
import'./chunk-6F4PWJZI.js';export{a as DocGeneratorEngine,b as DocServer}from'./chunk-JDM7Y7PX.js';import'./chunk-OQAXO3X2.js';import'./chunk-VV3A3UE3.js';export{a as BaseAnalyzer,A as DataFlowAnalyzer,z as GraphQLAnalyzer,y as PagesAnalyzer}from'./chunk-TNUKDIO7.js';export{b as MarkdownGenerator,a as MermaidGenerator}from'./chunk-HPBPEGHS.js';export{a as PageMapGenerator}from'./chunk-GCIRJGW3.js';import'./chunk-H7VVRHQZ.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as PageMapGenerator}from'./chunk-GCIRJGW3.js';
|
|
@@ -1 +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-
|
|
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-H7VVRHQZ.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as RailsMapGenerator}from'./chunk-OQAXO3X2.js';import'./chunk-H7VVRHQZ.js';
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { DocGeneratorConfig } from '../types.js';
|
|
2
2
|
|
|
3
|
-
interface DocServerOptions {
|
|
4
|
-
noCache?: boolean;
|
|
5
|
-
}
|
|
6
3
|
/**
|
|
7
4
|
* Documentation server with live reload
|
|
8
|
-
* ライブリロード機能付きドキュメントサーバー
|
|
9
5
|
*/
|
|
10
6
|
declare class DocServer {
|
|
11
7
|
private config;
|
|
@@ -17,7 +13,7 @@ declare class DocServer {
|
|
|
17
13
|
private currentReport;
|
|
18
14
|
private envResult;
|
|
19
15
|
private railsAnalysis;
|
|
20
|
-
constructor(config: DocGeneratorConfig, port?: number
|
|
16
|
+
constructor(config: DocGeneratorConfig, port?: number);
|
|
21
17
|
private setupRoutes;
|
|
22
18
|
private setupSocketIO;
|
|
23
19
|
private renderPage;
|
|
@@ -30,4 +26,4 @@ declare class DocServer {
|
|
|
30
26
|
stop(): void;
|
|
31
27
|
}
|
|
32
28
|
|
|
33
|
-
export { DocServer
|
|
29
|
+
export { DocServer };
|
package/dist/server/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{b as DocServer}from'../chunk-
|
|
1
|
+
export{b as DocServer}from'../chunk-JDM7Y7PX.js';import'../chunk-OQAXO3X2.js';import'../chunk-VV3A3UE3.js';import'../chunk-TNUKDIO7.js';import'../chunk-HPBPEGHS.js';import'../chunk-GCIRJGW3.js';import'../chunk-H7VVRHQZ.js';
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type definitions for the documentation generator
|
|
3
|
-
* ドキュメント生成ツールの型定義
|
|
4
3
|
*/
|
|
5
4
|
interface DocGeneratorConfig {
|
|
6
5
|
outputDir: string;
|
|
@@ -69,7 +68,6 @@ interface AnalysisResult {
|
|
|
69
68
|
}
|
|
70
69
|
/**
|
|
71
70
|
* Frontend API call information
|
|
72
|
-
* フロントエンドAPIコール情報
|
|
73
71
|
*/
|
|
74
72
|
interface APICall {
|
|
75
73
|
/** Unique identifier */
|
|
@@ -171,6 +169,17 @@ interface ComponentInfo {
|
|
|
171
169
|
dependents: string[];
|
|
172
170
|
hooks: string[];
|
|
173
171
|
stateManagement: string[];
|
|
172
|
+
/**
|
|
173
|
+
* Import information with resolved paths
|
|
174
|
+
* Used for accurate GraphQL operation mapping
|
|
175
|
+
*/
|
|
176
|
+
imports?: ImportInfo[];
|
|
177
|
+
}
|
|
178
|
+
interface ImportInfo {
|
|
179
|
+
/** Imported name (e.g., "Query", "useUserHook") */
|
|
180
|
+
name: string;
|
|
181
|
+
/** Import path (e.g., "../../features/profile/NewProfilePage") */
|
|
182
|
+
path: string;
|
|
174
183
|
}
|
|
175
184
|
interface PropInfo {
|
|
176
185
|
name: string;
|
|
@@ -294,4 +303,4 @@ interface NavigationFlow {
|
|
|
294
303
|
trigger: string;
|
|
295
304
|
}
|
|
296
305
|
|
|
297
|
-
export type { APICall, APIConnection, APIEndpoint, AnalysisConfig, AnalysisResult, AnalyzerType, AssociationInfo, AttributeInfo, AuthRequirement, ComponentInfo, CrossRepoAnalysis, CrossRepoLink, DataFetchingInfo, DataFlow, DataFlowNode, DiagramConfig, DiagramType, DocGeneratorConfig, DocumentationReport, GraphQLField, GraphQLOperation, IntegrationsConfig, MermaidDiagram, ModelInfo, NavigationFlow, NavigationInfo, PageInfo, ParameterInfo, PropInfo, RepositoryConfig, RepositoryReport, RepositorySummary, ResponseInfo, SiteConfig, StepInfo, VariableInfo, WatchConfig };
|
|
306
|
+
export type { APICall, APIConnection, APIEndpoint, AnalysisConfig, AnalysisResult, AnalyzerType, AssociationInfo, AttributeInfo, AuthRequirement, ComponentInfo, CrossRepoAnalysis, CrossRepoLink, DataFetchingInfo, DataFlow, DataFlowNode, DiagramConfig, DiagramType, DocGeneratorConfig, DocumentationReport, GraphQLField, GraphQLOperation, ImportInfo, IntegrationsConfig, MermaidDiagram, ModelInfo, NavigationFlow, NavigationInfo, PageInfo, ParameterInfo, PropInfo, RepositoryConfig, RepositoryReport, RepositorySummary, ResponseInfo, SiteConfig, StepInfo, VariableInfo, WatchConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wtdlee/repomap",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Interactive documentation generator for code repositories - visualize pages, components, GraphQL operations, and data flows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -75,8 +75,6 @@
|
|
|
75
75
|
"node": ">=18.0.0"
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@babel/parser": "^7.23.0",
|
|
79
|
-
"@babel/traverse": "^7.23.0",
|
|
80
78
|
"@swc/core": "^1.15.3",
|
|
81
79
|
"chalk": "^5.3.0",
|
|
82
80
|
"commander": "^14.0.2",
|
|
@@ -89,14 +87,12 @@
|
|
|
89
87
|
"simple-git": "^3.21.0",
|
|
90
88
|
"socket.io": "^4.7.2",
|
|
91
89
|
"tree-sitter-wasms": "^0.1.13",
|
|
92
|
-
"ts-morph": "^27.0.2",
|
|
93
90
|
"web-tree-sitter": "^0.25.10",
|
|
94
91
|
"yaml": "^2.3.4"
|
|
95
92
|
},
|
|
96
93
|
"devDependencies": {
|
|
97
94
|
"@changesets/cli": "^2.27.0",
|
|
98
95
|
"@eslint/js": "^9.39.1",
|
|
99
|
-
"@types/babel__traverse": "^7.20.4",
|
|
100
96
|
"@types/express": "^5.0.6",
|
|
101
97
|
"@types/node": "^25.0.1",
|
|
102
98
|
"eslint": "^9.39.1",
|