depgraph-core 1.0.0-beta

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.
@@ -0,0 +1,3367 @@
1
+ {
2
+ "meta": {
3
+ "version": "1.0.0",
4
+ "timestamp": "2026-07-16T02:45:52.311Z",
5
+ "totalFiles": 25,
6
+ "totalLines": 1968
7
+ },
8
+ "summary": {
9
+ "totalNodes": 55,
10
+ "totalEdges": 191,
11
+ "entryPoints": [
12
+ "makeId__graph_test",
13
+ "createMockNode__impact_test",
14
+ "createMockNode__metrics_test",
15
+ "activeFunc__parser_test",
16
+ "estimateComplexity__javascript",
17
+ "slugify__javascript",
18
+ "extractEntities__javascript",
19
+ "extractImports__javascript",
20
+ "extractExports__javascript",
21
+ "color__main",
22
+ "getFlag__main",
23
+ "printHelp__main",
24
+ "printBanner__main",
25
+ "printSummary__main",
26
+ "printImpact__main",
27
+ "dim__main",
28
+ "bold__main",
29
+ "green__main",
30
+ "yellow__main",
31
+ "red__main",
32
+ "cyan__main",
33
+ "makeId__graph",
34
+ "resolvePath__graph",
35
+ "getDirectDependents__impact",
36
+ "getImpactLevel__impact",
37
+ "computeRiskScore__impact",
38
+ "getRiskLevel__impact",
39
+ "getReason__impact",
40
+ "getChangeRequired__impact",
41
+ "buildTestingPlan__impact",
42
+ "buildRecommendations__impact",
43
+ "emptyReport__impact"
44
+ ],
45
+ "leafNodes": [
46
+ "collectFiles__collector",
47
+ "RawEntity__types",
48
+ "RawImport__types",
49
+ "ParsedFile__types",
50
+ "DepNode__types",
51
+ "DepEdge__types",
52
+ "DepGraph__types",
53
+ "AffectedNode__types",
54
+ "ImpactReport__types",
55
+ "OutputJSON__types"
56
+ ],
57
+ "isolatedNodes": [],
58
+ "criticalNodes": [
59
+ "collectFiles__collector",
60
+ "buildGraph__graph",
61
+ "simulateImpact__impact",
62
+ "computeMetrics__metrics",
63
+ "getCriticalNodes__metrics",
64
+ "writeOutput__output",
65
+ "parseFiles__parser",
66
+ "DepGraph__types",
67
+ "ImpactReport__types"
68
+ ]
69
+ },
70
+ "nodes": [
71
+ {
72
+ "id": "makeId__graph_test",
73
+ "name": "makeId",
74
+ "type": "function",
75
+ "file": "src/__tests__/graph.test.ts",
76
+ "line": 5,
77
+ "lang": "js",
78
+ "complexity": "low",
79
+ "inDegree": 0,
80
+ "outDegree": 2,
81
+ "centralityScore": 2,
82
+ "connections": [
83
+ "buildGraph__graph",
84
+ "ParsedFile__types"
85
+ ]
86
+ },
87
+ {
88
+ "id": "createMockNode__impact_test",
89
+ "name": "createMockNode",
90
+ "type": "function",
91
+ "file": "src/__tests__/impact.test.ts",
92
+ "line": 5,
93
+ "lang": "js",
94
+ "complexity": "low",
95
+ "inDegree": 0,
96
+ "outDegree": 3,
97
+ "centralityScore": 3,
98
+ "connections": [
99
+ "simulateImpact__impact",
100
+ "DepGraph__types",
101
+ "DepNode__types"
102
+ ]
103
+ },
104
+ {
105
+ "id": "createMockNode__metrics_test",
106
+ "name": "createMockNode",
107
+ "type": "function",
108
+ "file": "src/__tests__/metrics.test.ts",
109
+ "line": 11,
110
+ "lang": "js",
111
+ "complexity": "low",
112
+ "inDegree": 0,
113
+ "outDegree": 7,
114
+ "centralityScore": 7,
115
+ "connections": [
116
+ "computeMetrics__metrics",
117
+ "getEntryPoints__metrics",
118
+ "getLeafNodes__metrics",
119
+ "getIsolatedNodes__metrics",
120
+ "getCriticalNodes__metrics",
121
+ "DepGraph__types",
122
+ "DepNode__types"
123
+ ]
124
+ },
125
+ {
126
+ "id": "activeFunc__parser_test",
127
+ "name": "activeFunc",
128
+ "type": "function",
129
+ "file": "src/__tests__/parser.test.ts",
130
+ "line": 145,
131
+ "lang": "js",
132
+ "complexity": "low",
133
+ "inDegree": 0,
134
+ "outDegree": 1,
135
+ "centralityScore": 1,
136
+ "connections": [
137
+ "parseFile__parser"
138
+ ]
139
+ },
140
+ {
141
+ "id": "estimateComplexity__javascript",
142
+ "name": "estimateComplexity",
143
+ "type": "function",
144
+ "file": "src/languages/javascript.ts",
145
+ "line": 8,
146
+ "lang": "js",
147
+ "complexity": "high",
148
+ "inDegree": 0,
149
+ "outDegree": 4,
150
+ "centralityScore": 4,
151
+ "connections": [
152
+ "RawEntity__types",
153
+ "RawImport__types",
154
+ "LanguageParser__registry",
155
+ "registerParser__registry"
156
+ ]
157
+ },
158
+ {
159
+ "id": "slugify__javascript",
160
+ "name": "slugify",
161
+ "type": "function",
162
+ "file": "src/languages/javascript.ts",
163
+ "line": 23,
164
+ "lang": "js",
165
+ "complexity": "low",
166
+ "inDegree": 0,
167
+ "outDegree": 4,
168
+ "centralityScore": 4,
169
+ "connections": [
170
+ "RawEntity__types",
171
+ "RawImport__types",
172
+ "LanguageParser__registry",
173
+ "registerParser__registry"
174
+ ]
175
+ },
176
+ {
177
+ "id": "extractEntities__javascript",
178
+ "name": "extractEntities",
179
+ "type": "function",
180
+ "file": "src/languages/javascript.ts",
181
+ "line": 29,
182
+ "lang": "js",
183
+ "complexity": "medium",
184
+ "inDegree": 0,
185
+ "outDegree": 4,
186
+ "centralityScore": 4,
187
+ "connections": [
188
+ "RawEntity__types",
189
+ "RawImport__types",
190
+ "LanguageParser__registry",
191
+ "registerParser__registry"
192
+ ]
193
+ },
194
+ {
195
+ "id": "extractImports__javascript",
196
+ "name": "extractImports",
197
+ "type": "function",
198
+ "file": "src/languages/javascript.ts",
199
+ "line": 115,
200
+ "lang": "js",
201
+ "complexity": "low",
202
+ "inDegree": 0,
203
+ "outDegree": 4,
204
+ "centralityScore": 4,
205
+ "connections": [
206
+ "RawEntity__types",
207
+ "RawImport__types",
208
+ "LanguageParser__registry",
209
+ "registerParser__registry"
210
+ ]
211
+ },
212
+ {
213
+ "id": "extractExports__javascript",
214
+ "name": "extractExports",
215
+ "type": "function",
216
+ "file": "src/languages/javascript.ts",
217
+ "line": 156,
218
+ "lang": "js",
219
+ "complexity": "low",
220
+ "inDegree": 0,
221
+ "outDegree": 4,
222
+ "centralityScore": 4,
223
+ "connections": [
224
+ "RawEntity__types",
225
+ "RawImport__types",
226
+ "LanguageParser__registry",
227
+ "registerParser__registry"
228
+ ]
229
+ },
230
+ {
231
+ "id": "registerParser__registry",
232
+ "name": "registerParser",
233
+ "type": "function",
234
+ "file": "src/languages/registry.ts",
235
+ "line": 15,
236
+ "lang": "js",
237
+ "complexity": "low",
238
+ "inDegree": 5,
239
+ "outDegree": 2,
240
+ "centralityScore": 12,
241
+ "connections": [
242
+ "estimateComplexity__javascript",
243
+ "slugify__javascript",
244
+ "extractEntities__javascript",
245
+ "extractImports__javascript",
246
+ "extractExports__javascript",
247
+ "RawEntity__types",
248
+ "RawImport__types"
249
+ ]
250
+ },
251
+ {
252
+ "id": "getLanguageParser__registry",
253
+ "name": "getLanguageParser",
254
+ "type": "function",
255
+ "file": "src/languages/registry.ts",
256
+ "line": 19,
257
+ "lang": "js",
258
+ "complexity": "low",
259
+ "inDegree": 2,
260
+ "outDegree": 2,
261
+ "centralityScore": 6,
262
+ "connections": [
263
+ "RawEntity__types",
264
+ "RawImport__types",
265
+ "parseFile__parser",
266
+ "parseFiles__parser"
267
+ ]
268
+ },
269
+ {
270
+ "id": "LanguageParser__registry",
271
+ "name": "LanguageParser",
272
+ "type": "interface",
273
+ "file": "src/languages/registry.ts",
274
+ "line": 4,
275
+ "lang": "js",
276
+ "complexity": "low",
277
+ "inDegree": 5,
278
+ "outDegree": 2,
279
+ "centralityScore": 12,
280
+ "connections": [
281
+ "estimateComplexity__javascript",
282
+ "slugify__javascript",
283
+ "extractEntities__javascript",
284
+ "extractImports__javascript",
285
+ "extractExports__javascript",
286
+ "RawEntity__types",
287
+ "RawImport__types"
288
+ ]
289
+ },
290
+ {
291
+ "id": "color__main",
292
+ "name": "color",
293
+ "type": "function",
294
+ "file": "src/main.ts",
295
+ "line": 19,
296
+ "lang": "js",
297
+ "complexity": "low",
298
+ "inDegree": 0,
299
+ "outDegree": 7,
300
+ "centralityScore": 7,
301
+ "connections": [
302
+ "collectFiles__collector",
303
+ "parseFiles__parser",
304
+ "buildGraph__graph",
305
+ "computeMetrics__metrics",
306
+ "getCriticalNodes__metrics",
307
+ "simulateImpact__impact",
308
+ "writeOutput__output"
309
+ ]
310
+ },
311
+ {
312
+ "id": "getFlag__main",
313
+ "name": "getFlag",
314
+ "type": "function",
315
+ "file": "src/main.ts",
316
+ "line": 31,
317
+ "lang": "js",
318
+ "complexity": "low",
319
+ "inDegree": 0,
320
+ "outDegree": 7,
321
+ "centralityScore": 7,
322
+ "connections": [
323
+ "collectFiles__collector",
324
+ "parseFiles__parser",
325
+ "buildGraph__graph",
326
+ "computeMetrics__metrics",
327
+ "getCriticalNodes__metrics",
328
+ "simulateImpact__impact",
329
+ "writeOutput__output"
330
+ ]
331
+ },
332
+ {
333
+ "id": "printHelp__main",
334
+ "name": "printHelp",
335
+ "type": "function",
336
+ "file": "src/main.ts",
337
+ "line": 36,
338
+ "lang": "js",
339
+ "complexity": "low",
340
+ "inDegree": 0,
341
+ "outDegree": 7,
342
+ "centralityScore": 7,
343
+ "connections": [
344
+ "collectFiles__collector",
345
+ "parseFiles__parser",
346
+ "buildGraph__graph",
347
+ "computeMetrics__metrics",
348
+ "getCriticalNodes__metrics",
349
+ "simulateImpact__impact",
350
+ "writeOutput__output"
351
+ ]
352
+ },
353
+ {
354
+ "id": "printBanner__main",
355
+ "name": "printBanner",
356
+ "type": "function",
357
+ "file": "src/main.ts",
358
+ "line": 66,
359
+ "lang": "js",
360
+ "complexity": "low",
361
+ "inDegree": 0,
362
+ "outDegree": 7,
363
+ "centralityScore": 7,
364
+ "connections": [
365
+ "collectFiles__collector",
366
+ "parseFiles__parser",
367
+ "buildGraph__graph",
368
+ "computeMetrics__metrics",
369
+ "getCriticalNodes__metrics",
370
+ "simulateImpact__impact",
371
+ "writeOutput__output"
372
+ ]
373
+ },
374
+ {
375
+ "id": "printSummary__main",
376
+ "name": "printSummary",
377
+ "type": "function",
378
+ "file": "src/main.ts",
379
+ "line": 74,
380
+ "lang": "js",
381
+ "complexity": "low",
382
+ "inDegree": 0,
383
+ "outDegree": 7,
384
+ "centralityScore": 7,
385
+ "connections": [
386
+ "collectFiles__collector",
387
+ "parseFiles__parser",
388
+ "buildGraph__graph",
389
+ "computeMetrics__metrics",
390
+ "getCriticalNodes__metrics",
391
+ "simulateImpact__impact",
392
+ "writeOutput__output"
393
+ ]
394
+ },
395
+ {
396
+ "id": "printImpact__main",
397
+ "name": "printImpact",
398
+ "type": "function",
399
+ "file": "src/main.ts",
400
+ "line": 93,
401
+ "lang": "js",
402
+ "complexity": "medium",
403
+ "inDegree": 0,
404
+ "outDegree": 7,
405
+ "centralityScore": 7,
406
+ "connections": [
407
+ "collectFiles__collector",
408
+ "parseFiles__parser",
409
+ "buildGraph__graph",
410
+ "computeMetrics__metrics",
411
+ "getCriticalNodes__metrics",
412
+ "simulateImpact__impact",
413
+ "writeOutput__output"
414
+ ]
415
+ },
416
+ {
417
+ "id": "dim__main",
418
+ "name": "dim",
419
+ "type": "function",
420
+ "file": "src/main.ts",
421
+ "line": 23,
422
+ "lang": "js",
423
+ "complexity": "low",
424
+ "inDegree": 0,
425
+ "outDegree": 7,
426
+ "centralityScore": 7,
427
+ "connections": [
428
+ "collectFiles__collector",
429
+ "parseFiles__parser",
430
+ "buildGraph__graph",
431
+ "computeMetrics__metrics",
432
+ "getCriticalNodes__metrics",
433
+ "simulateImpact__impact",
434
+ "writeOutput__output"
435
+ ]
436
+ },
437
+ {
438
+ "id": "bold__main",
439
+ "name": "bold",
440
+ "type": "function",
441
+ "file": "src/main.ts",
442
+ "line": 24,
443
+ "lang": "js",
444
+ "complexity": "low",
445
+ "inDegree": 0,
446
+ "outDegree": 7,
447
+ "centralityScore": 7,
448
+ "connections": [
449
+ "collectFiles__collector",
450
+ "parseFiles__parser",
451
+ "buildGraph__graph",
452
+ "computeMetrics__metrics",
453
+ "getCriticalNodes__metrics",
454
+ "simulateImpact__impact",
455
+ "writeOutput__output"
456
+ ]
457
+ },
458
+ {
459
+ "id": "green__main",
460
+ "name": "green",
461
+ "type": "function",
462
+ "file": "src/main.ts",
463
+ "line": 25,
464
+ "lang": "js",
465
+ "complexity": "low",
466
+ "inDegree": 0,
467
+ "outDegree": 7,
468
+ "centralityScore": 7,
469
+ "connections": [
470
+ "collectFiles__collector",
471
+ "parseFiles__parser",
472
+ "buildGraph__graph",
473
+ "computeMetrics__metrics",
474
+ "getCriticalNodes__metrics",
475
+ "simulateImpact__impact",
476
+ "writeOutput__output"
477
+ ]
478
+ },
479
+ {
480
+ "id": "yellow__main",
481
+ "name": "yellow",
482
+ "type": "function",
483
+ "file": "src/main.ts",
484
+ "line": 26,
485
+ "lang": "js",
486
+ "complexity": "low",
487
+ "inDegree": 0,
488
+ "outDegree": 7,
489
+ "centralityScore": 7,
490
+ "connections": [
491
+ "collectFiles__collector",
492
+ "parseFiles__parser",
493
+ "buildGraph__graph",
494
+ "computeMetrics__metrics",
495
+ "getCriticalNodes__metrics",
496
+ "simulateImpact__impact",
497
+ "writeOutput__output"
498
+ ]
499
+ },
500
+ {
501
+ "id": "red__main",
502
+ "name": "red",
503
+ "type": "function",
504
+ "file": "src/main.ts",
505
+ "line": 27,
506
+ "lang": "js",
507
+ "complexity": "low",
508
+ "inDegree": 0,
509
+ "outDegree": 7,
510
+ "centralityScore": 7,
511
+ "connections": [
512
+ "collectFiles__collector",
513
+ "parseFiles__parser",
514
+ "buildGraph__graph",
515
+ "computeMetrics__metrics",
516
+ "getCriticalNodes__metrics",
517
+ "simulateImpact__impact",
518
+ "writeOutput__output"
519
+ ]
520
+ },
521
+ {
522
+ "id": "cyan__main",
523
+ "name": "cyan",
524
+ "type": "function",
525
+ "file": "src/main.ts",
526
+ "line": 28,
527
+ "lang": "js",
528
+ "complexity": "low",
529
+ "inDegree": 0,
530
+ "outDegree": 7,
531
+ "centralityScore": 7,
532
+ "connections": [
533
+ "collectFiles__collector",
534
+ "parseFiles__parser",
535
+ "buildGraph__graph",
536
+ "computeMetrics__metrics",
537
+ "getCriticalNodes__metrics",
538
+ "simulateImpact__impact",
539
+ "writeOutput__output"
540
+ ]
541
+ },
542
+ {
543
+ "id": "collectFiles__collector",
544
+ "name": "collectFiles",
545
+ "type": "function",
546
+ "file": "src/stages/collector.ts",
547
+ "line": 5,
548
+ "lang": "js",
549
+ "complexity": "medium",
550
+ "inDegree": 12,
551
+ "outDegree": 0,
552
+ "centralityScore": 24,
553
+ "connections": [
554
+ "color__main",
555
+ "getFlag__main",
556
+ "printHelp__main",
557
+ "printBanner__main",
558
+ "printSummary__main",
559
+ "printImpact__main",
560
+ "dim__main",
561
+ "bold__main",
562
+ "green__main",
563
+ "yellow__main",
564
+ "red__main",
565
+ "cyan__main"
566
+ ]
567
+ },
568
+ {
569
+ "id": "buildGraph__graph",
570
+ "name": "buildGraph",
571
+ "type": "function",
572
+ "file": "src/stages/graph.ts",
573
+ "line": 4,
574
+ "lang": "js",
575
+ "complexity": "high",
576
+ "inDegree": 13,
577
+ "outDegree": 4,
578
+ "centralityScore": 30,
579
+ "connections": [
580
+ "makeId__graph_test",
581
+ "color__main",
582
+ "getFlag__main",
583
+ "printHelp__main",
584
+ "printBanner__main",
585
+ "printSummary__main",
586
+ "printImpact__main",
587
+ "dim__main",
588
+ "bold__main",
589
+ "green__main",
590
+ "yellow__main",
591
+ "red__main",
592
+ "cyan__main",
593
+ "ParsedFile__types",
594
+ "DepGraph__types",
595
+ "DepNode__types",
596
+ "DepEdge__types"
597
+ ]
598
+ },
599
+ {
600
+ "id": "makeId__graph",
601
+ "name": "makeId",
602
+ "type": "function",
603
+ "file": "src/stages/graph.ts",
604
+ "line": 111,
605
+ "lang": "js",
606
+ "complexity": "low",
607
+ "inDegree": 0,
608
+ "outDegree": 4,
609
+ "centralityScore": 4,
610
+ "connections": [
611
+ "ParsedFile__types",
612
+ "DepGraph__types",
613
+ "DepNode__types",
614
+ "DepEdge__types"
615
+ ]
616
+ },
617
+ {
618
+ "id": "resolvePath__graph",
619
+ "name": "resolvePath",
620
+ "type": "function",
621
+ "file": "src/stages/graph.ts",
622
+ "line": 118,
623
+ "lang": "js",
624
+ "complexity": "low",
625
+ "inDegree": 0,
626
+ "outDegree": 4,
627
+ "centralityScore": 4,
628
+ "connections": [
629
+ "ParsedFile__types",
630
+ "DepGraph__types",
631
+ "DepNode__types",
632
+ "DepEdge__types"
633
+ ]
634
+ },
635
+ {
636
+ "id": "simulateImpact__impact",
637
+ "name": "simulateImpact",
638
+ "type": "function",
639
+ "file": "src/stages/impact.ts",
640
+ "line": 4,
641
+ "lang": "js",
642
+ "complexity": "medium",
643
+ "inDegree": 13,
644
+ "outDegree": 3,
645
+ "centralityScore": 29,
646
+ "connections": [
647
+ "createMockNode__impact_test",
648
+ "color__main",
649
+ "getFlag__main",
650
+ "printHelp__main",
651
+ "printBanner__main",
652
+ "printSummary__main",
653
+ "printImpact__main",
654
+ "dim__main",
655
+ "bold__main",
656
+ "green__main",
657
+ "yellow__main",
658
+ "red__main",
659
+ "cyan__main",
660
+ "DepGraph__types",
661
+ "AffectedNode__types",
662
+ "ImpactReport__types"
663
+ ]
664
+ },
665
+ {
666
+ "id": "getDirectDependents__impact",
667
+ "name": "getDirectDependents",
668
+ "type": "function",
669
+ "file": "src/stages/impact.ts",
670
+ "line": 94,
671
+ "lang": "js",
672
+ "complexity": "low",
673
+ "inDegree": 0,
674
+ "outDegree": 3,
675
+ "centralityScore": 3,
676
+ "connections": [
677
+ "DepGraph__types",
678
+ "AffectedNode__types",
679
+ "ImpactReport__types"
680
+ ]
681
+ },
682
+ {
683
+ "id": "getImpactLevel__impact",
684
+ "name": "getImpactLevel",
685
+ "type": "function",
686
+ "file": "src/stages/impact.ts",
687
+ "line": 100,
688
+ "lang": "js",
689
+ "complexity": "low",
690
+ "inDegree": 0,
691
+ "outDegree": 3,
692
+ "centralityScore": 3,
693
+ "connections": [
694
+ "DepGraph__types",
695
+ "AffectedNode__types",
696
+ "ImpactReport__types"
697
+ ]
698
+ },
699
+ {
700
+ "id": "computeRiskScore__impact",
701
+ "name": "computeRiskScore",
702
+ "type": "function",
703
+ "file": "src/stages/impact.ts",
704
+ "line": 107,
705
+ "lang": "js",
706
+ "complexity": "low",
707
+ "inDegree": 0,
708
+ "outDegree": 3,
709
+ "centralityScore": 3,
710
+ "connections": [
711
+ "DepGraph__types",
712
+ "AffectedNode__types",
713
+ "ImpactReport__types"
714
+ ]
715
+ },
716
+ {
717
+ "id": "getRiskLevel__impact",
718
+ "name": "getRiskLevel",
719
+ "type": "function",
720
+ "file": "src/stages/impact.ts",
721
+ "line": 117,
722
+ "lang": "js",
723
+ "complexity": "low",
724
+ "inDegree": 0,
725
+ "outDegree": 3,
726
+ "centralityScore": 3,
727
+ "connections": [
728
+ "DepGraph__types",
729
+ "AffectedNode__types",
730
+ "ImpactReport__types"
731
+ ]
732
+ },
733
+ {
734
+ "id": "getReason__impact",
735
+ "name": "getReason",
736
+ "type": "function",
737
+ "file": "src/stages/impact.ts",
738
+ "line": 124,
739
+ "lang": "js",
740
+ "complexity": "low",
741
+ "inDegree": 0,
742
+ "outDegree": 3,
743
+ "centralityScore": 3,
744
+ "connections": [
745
+ "DepGraph__types",
746
+ "AffectedNode__types",
747
+ "ImpactReport__types"
748
+ ]
749
+ },
750
+ {
751
+ "id": "getChangeRequired__impact",
752
+ "name": "getChangeRequired",
753
+ "type": "function",
754
+ "file": "src/stages/impact.ts",
755
+ "line": 130,
756
+ "lang": "js",
757
+ "complexity": "medium",
758
+ "inDegree": 0,
759
+ "outDegree": 3,
760
+ "centralityScore": 3,
761
+ "connections": [
762
+ "DepGraph__types",
763
+ "AffectedNode__types",
764
+ "ImpactReport__types"
765
+ ]
766
+ },
767
+ {
768
+ "id": "buildTestingPlan__impact",
769
+ "name": "buildTestingPlan",
770
+ "type": "function",
771
+ "file": "src/stages/impact.ts",
772
+ "line": 137,
773
+ "lang": "js",
774
+ "complexity": "low",
775
+ "inDegree": 0,
776
+ "outDegree": 3,
777
+ "centralityScore": 3,
778
+ "connections": [
779
+ "DepGraph__types",
780
+ "AffectedNode__types",
781
+ "ImpactReport__types"
782
+ ]
783
+ },
784
+ {
785
+ "id": "buildRecommendations__impact",
786
+ "name": "buildRecommendations",
787
+ "type": "function",
788
+ "file": "src/stages/impact.ts",
789
+ "line": 159,
790
+ "lang": "js",
791
+ "complexity": "medium",
792
+ "inDegree": 0,
793
+ "outDegree": 3,
794
+ "centralityScore": 3,
795
+ "connections": [
796
+ "DepGraph__types",
797
+ "AffectedNode__types",
798
+ "ImpactReport__types"
799
+ ]
800
+ },
801
+ {
802
+ "id": "emptyReport__impact",
803
+ "name": "emptyReport",
804
+ "type": "function",
805
+ "file": "src/stages/impact.ts",
806
+ "line": 185,
807
+ "lang": "js",
808
+ "complexity": "low",
809
+ "inDegree": 0,
810
+ "outDegree": 3,
811
+ "centralityScore": 3,
812
+ "connections": [
813
+ "DepGraph__types",
814
+ "AffectedNode__types",
815
+ "ImpactReport__types"
816
+ ]
817
+ },
818
+ {
819
+ "id": "computeMetrics__metrics",
820
+ "name": "computeMetrics",
821
+ "type": "function",
822
+ "file": "src/stages/metrics.ts",
823
+ "line": 3,
824
+ "lang": "js",
825
+ "complexity": "medium",
826
+ "inDegree": 13,
827
+ "outDegree": 2,
828
+ "centralityScore": 28,
829
+ "connections": [
830
+ "createMockNode__metrics_test",
831
+ "color__main",
832
+ "getFlag__main",
833
+ "printHelp__main",
834
+ "printBanner__main",
835
+ "printSummary__main",
836
+ "printImpact__main",
837
+ "dim__main",
838
+ "bold__main",
839
+ "green__main",
840
+ "yellow__main",
841
+ "red__main",
842
+ "cyan__main",
843
+ "DepGraph__types",
844
+ "DepNode__types"
845
+ ]
846
+ },
847
+ {
848
+ "id": "getEntryPoints__metrics",
849
+ "name": "getEntryPoints",
850
+ "type": "function",
851
+ "file": "src/stages/metrics.ts",
852
+ "line": 29,
853
+ "lang": "js",
854
+ "complexity": "low",
855
+ "inDegree": 2,
856
+ "outDegree": 2,
857
+ "centralityScore": 6,
858
+ "connections": [
859
+ "createMockNode__metrics_test",
860
+ "DepGraph__types",
861
+ "DepNode__types",
862
+ "writeOutput__output"
863
+ ]
864
+ },
865
+ {
866
+ "id": "getLeafNodes__metrics",
867
+ "name": "getLeafNodes",
868
+ "type": "function",
869
+ "file": "src/stages/metrics.ts",
870
+ "line": 37,
871
+ "lang": "js",
872
+ "complexity": "low",
873
+ "inDegree": 2,
874
+ "outDegree": 2,
875
+ "centralityScore": 6,
876
+ "connections": [
877
+ "createMockNode__metrics_test",
878
+ "DepGraph__types",
879
+ "DepNode__types",
880
+ "writeOutput__output"
881
+ ]
882
+ },
883
+ {
884
+ "id": "getIsolatedNodes__metrics",
885
+ "name": "getIsolatedNodes",
886
+ "type": "function",
887
+ "file": "src/stages/metrics.ts",
888
+ "line": 45,
889
+ "lang": "js",
890
+ "complexity": "low",
891
+ "inDegree": 2,
892
+ "outDegree": 2,
893
+ "centralityScore": 6,
894
+ "connections": [
895
+ "createMockNode__metrics_test",
896
+ "DepGraph__types",
897
+ "DepNode__types",
898
+ "writeOutput__output"
899
+ ]
900
+ },
901
+ {
902
+ "id": "getCriticalNodes__metrics",
903
+ "name": "getCriticalNodes",
904
+ "type": "function",
905
+ "file": "src/stages/metrics.ts",
906
+ "line": 53,
907
+ "lang": "js",
908
+ "complexity": "low",
909
+ "inDegree": 14,
910
+ "outDegree": 2,
911
+ "centralityScore": 30,
912
+ "connections": [
913
+ "createMockNode__metrics_test",
914
+ "color__main",
915
+ "getFlag__main",
916
+ "printHelp__main",
917
+ "printBanner__main",
918
+ "printSummary__main",
919
+ "printImpact__main",
920
+ "dim__main",
921
+ "bold__main",
922
+ "green__main",
923
+ "yellow__main",
924
+ "red__main",
925
+ "cyan__main",
926
+ "DepGraph__types",
927
+ "DepNode__types",
928
+ "writeOutput__output"
929
+ ]
930
+ },
931
+ {
932
+ "id": "writeOutput__output",
933
+ "name": "writeOutput",
934
+ "type": "function",
935
+ "file": "src/stages/output.ts",
936
+ "line": 11,
937
+ "lang": "js",
938
+ "complexity": "low",
939
+ "inDegree": 12,
940
+ "outDegree": 8,
941
+ "centralityScore": 32,
942
+ "connections": [
943
+ "color__main",
944
+ "getFlag__main",
945
+ "printHelp__main",
946
+ "printBanner__main",
947
+ "printSummary__main",
948
+ "printImpact__main",
949
+ "dim__main",
950
+ "bold__main",
951
+ "green__main",
952
+ "yellow__main",
953
+ "red__main",
954
+ "cyan__main",
955
+ "DepGraph__types",
956
+ "ParsedFile__types",
957
+ "ImpactReport__types",
958
+ "OutputJSON__types",
959
+ "getEntryPoints__metrics",
960
+ "getLeafNodes__metrics",
961
+ "getIsolatedNodes__metrics",
962
+ "getCriticalNodes__metrics"
963
+ ]
964
+ },
965
+ {
966
+ "id": "parseFile__parser",
967
+ "name": "parseFile",
968
+ "type": "function",
969
+ "file": "src/stages/parser.ts",
970
+ "line": 6,
971
+ "lang": "js",
972
+ "complexity": "low",
973
+ "inDegree": 1,
974
+ "outDegree": 4,
975
+ "centralityScore": 6,
976
+ "connections": [
977
+ "activeFunc__parser_test",
978
+ "ParsedFile__types",
979
+ "RawEntity__types",
980
+ "RawImport__types",
981
+ "getLanguageParser__registry"
982
+ ]
983
+ },
984
+ {
985
+ "id": "parseFiles__parser",
986
+ "name": "parseFiles",
987
+ "type": "function",
988
+ "file": "src/stages/parser.ts",
989
+ "line": 41,
990
+ "lang": "js",
991
+ "complexity": "low",
992
+ "inDegree": 12,
993
+ "outDegree": 4,
994
+ "centralityScore": 28,
995
+ "connections": [
996
+ "color__main",
997
+ "getFlag__main",
998
+ "printHelp__main",
999
+ "printBanner__main",
1000
+ "printSummary__main",
1001
+ "printImpact__main",
1002
+ "dim__main",
1003
+ "bold__main",
1004
+ "green__main",
1005
+ "yellow__main",
1006
+ "red__main",
1007
+ "cyan__main",
1008
+ "ParsedFile__types",
1009
+ "RawEntity__types",
1010
+ "RawImport__types",
1011
+ "getLanguageParser__registry"
1012
+ ]
1013
+ },
1014
+ {
1015
+ "id": "RawEntity__types",
1016
+ "name": "RawEntity",
1017
+ "type": "interface",
1018
+ "file": "src/types.ts",
1019
+ "line": 4,
1020
+ "lang": "js",
1021
+ "complexity": "low",
1022
+ "inDegree": 10,
1023
+ "outDegree": 0,
1024
+ "centralityScore": 20,
1025
+ "connections": [
1026
+ "estimateComplexity__javascript",
1027
+ "slugify__javascript",
1028
+ "extractEntities__javascript",
1029
+ "extractImports__javascript",
1030
+ "extractExports__javascript",
1031
+ "registerParser__registry",
1032
+ "getLanguageParser__registry",
1033
+ "LanguageParser__registry",
1034
+ "parseFile__parser",
1035
+ "parseFiles__parser"
1036
+ ]
1037
+ },
1038
+ {
1039
+ "id": "RawImport__types",
1040
+ "name": "RawImport",
1041
+ "type": "interface",
1042
+ "file": "src/types.ts",
1043
+ "line": 11,
1044
+ "lang": "js",
1045
+ "complexity": "low",
1046
+ "inDegree": 10,
1047
+ "outDegree": 0,
1048
+ "centralityScore": 20,
1049
+ "connections": [
1050
+ "estimateComplexity__javascript",
1051
+ "slugify__javascript",
1052
+ "extractEntities__javascript",
1053
+ "extractImports__javascript",
1054
+ "extractExports__javascript",
1055
+ "registerParser__registry",
1056
+ "getLanguageParser__registry",
1057
+ "LanguageParser__registry",
1058
+ "parseFile__parser",
1059
+ "parseFiles__parser"
1060
+ ]
1061
+ },
1062
+ {
1063
+ "id": "ParsedFile__types",
1064
+ "name": "ParsedFile",
1065
+ "type": "interface",
1066
+ "file": "src/types.ts",
1067
+ "line": 17,
1068
+ "lang": "js",
1069
+ "complexity": "low",
1070
+ "inDegree": 7,
1071
+ "outDegree": 0,
1072
+ "centralityScore": 14,
1073
+ "connections": [
1074
+ "makeId__graph_test",
1075
+ "buildGraph__graph",
1076
+ "makeId__graph",
1077
+ "resolvePath__graph",
1078
+ "writeOutput__output",
1079
+ "parseFile__parser",
1080
+ "parseFiles__parser"
1081
+ ]
1082
+ },
1083
+ {
1084
+ "id": "DepNode__types",
1085
+ "name": "DepNode",
1086
+ "type": "interface",
1087
+ "file": "src/types.ts",
1088
+ "line": 26,
1089
+ "lang": "js",
1090
+ "complexity": "low",
1091
+ "inDegree": 10,
1092
+ "outDegree": 0,
1093
+ "centralityScore": 20,
1094
+ "connections": [
1095
+ "createMockNode__impact_test",
1096
+ "createMockNode__metrics_test",
1097
+ "buildGraph__graph",
1098
+ "makeId__graph",
1099
+ "resolvePath__graph",
1100
+ "computeMetrics__metrics",
1101
+ "getEntryPoints__metrics",
1102
+ "getLeafNodes__metrics",
1103
+ "getIsolatedNodes__metrics",
1104
+ "getCriticalNodes__metrics"
1105
+ ]
1106
+ },
1107
+ {
1108
+ "id": "DepEdge__types",
1109
+ "name": "DepEdge",
1110
+ "type": "interface",
1111
+ "file": "src/types.ts",
1112
+ "line": 43,
1113
+ "lang": "js",
1114
+ "complexity": "low",
1115
+ "inDegree": 3,
1116
+ "outDegree": 0,
1117
+ "centralityScore": 6,
1118
+ "connections": [
1119
+ "buildGraph__graph",
1120
+ "makeId__graph",
1121
+ "resolvePath__graph"
1122
+ ]
1123
+ },
1124
+ {
1125
+ "id": "DepGraph__types",
1126
+ "name": "DepGraph",
1127
+ "type": "interface",
1128
+ "file": "src/types.ts",
1129
+ "line": 50,
1130
+ "lang": "js",
1131
+ "complexity": "low",
1132
+ "inDegree": 21,
1133
+ "outDegree": 0,
1134
+ "centralityScore": 42,
1135
+ "connections": [
1136
+ "createMockNode__impact_test",
1137
+ "createMockNode__metrics_test",
1138
+ "buildGraph__graph",
1139
+ "makeId__graph",
1140
+ "resolvePath__graph",
1141
+ "simulateImpact__impact",
1142
+ "getDirectDependents__impact",
1143
+ "getImpactLevel__impact",
1144
+ "computeRiskScore__impact",
1145
+ "getRiskLevel__impact",
1146
+ "getReason__impact",
1147
+ "getChangeRequired__impact",
1148
+ "buildTestingPlan__impact",
1149
+ "buildRecommendations__impact",
1150
+ "emptyReport__impact",
1151
+ "computeMetrics__metrics",
1152
+ "getEntryPoints__metrics",
1153
+ "getLeafNodes__metrics",
1154
+ "getIsolatedNodes__metrics",
1155
+ "getCriticalNodes__metrics",
1156
+ "writeOutput__output"
1157
+ ]
1158
+ },
1159
+ {
1160
+ "id": "AffectedNode__types",
1161
+ "name": "AffectedNode",
1162
+ "type": "interface",
1163
+ "file": "src/types.ts",
1164
+ "line": 55,
1165
+ "lang": "js",
1166
+ "complexity": "low",
1167
+ "inDegree": 10,
1168
+ "outDegree": 0,
1169
+ "centralityScore": 20,
1170
+ "connections": [
1171
+ "simulateImpact__impact",
1172
+ "getDirectDependents__impact",
1173
+ "getImpactLevel__impact",
1174
+ "computeRiskScore__impact",
1175
+ "getRiskLevel__impact",
1176
+ "getReason__impact",
1177
+ "getChangeRequired__impact",
1178
+ "buildTestingPlan__impact",
1179
+ "buildRecommendations__impact",
1180
+ "emptyReport__impact"
1181
+ ]
1182
+ },
1183
+ {
1184
+ "id": "ImpactReport__types",
1185
+ "name": "ImpactReport",
1186
+ "type": "interface",
1187
+ "file": "src/types.ts",
1188
+ "line": 66,
1189
+ "lang": "js",
1190
+ "complexity": "low",
1191
+ "inDegree": 11,
1192
+ "outDegree": 0,
1193
+ "centralityScore": 22,
1194
+ "connections": [
1195
+ "simulateImpact__impact",
1196
+ "getDirectDependents__impact",
1197
+ "getImpactLevel__impact",
1198
+ "computeRiskScore__impact",
1199
+ "getRiskLevel__impact",
1200
+ "getReason__impact",
1201
+ "getChangeRequired__impact",
1202
+ "buildTestingPlan__impact",
1203
+ "buildRecommendations__impact",
1204
+ "emptyReport__impact",
1205
+ "writeOutput__output"
1206
+ ]
1207
+ },
1208
+ {
1209
+ "id": "OutputJSON__types",
1210
+ "name": "OutputJSON",
1211
+ "type": "interface",
1212
+ "file": "src/types.ts",
1213
+ "line": 77,
1214
+ "lang": "js",
1215
+ "complexity": "low",
1216
+ "inDegree": 1,
1217
+ "outDegree": 0,
1218
+ "centralityScore": 2,
1219
+ "connections": [
1220
+ "writeOutput__output"
1221
+ ]
1222
+ }
1223
+ ],
1224
+ "edges": [
1225
+ {
1226
+ "from": "makeId__graph_test",
1227
+ "to": "buildGraph__graph",
1228
+ "type": "imports",
1229
+ "description": "makeId imports buildGraph from graph.ts"
1230
+ },
1231
+ {
1232
+ "from": "makeId__graph_test",
1233
+ "to": "ParsedFile__types",
1234
+ "type": "imports",
1235
+ "description": "makeId imports ParsedFile from types.ts"
1236
+ },
1237
+ {
1238
+ "from": "createMockNode__impact_test",
1239
+ "to": "simulateImpact__impact",
1240
+ "type": "imports",
1241
+ "description": "createMockNode imports simulateImpact from impact.ts"
1242
+ },
1243
+ {
1244
+ "from": "createMockNode__impact_test",
1245
+ "to": "DepGraph__types",
1246
+ "type": "imports",
1247
+ "description": "createMockNode imports DepGraph from types.ts"
1248
+ },
1249
+ {
1250
+ "from": "createMockNode__impact_test",
1251
+ "to": "DepNode__types",
1252
+ "type": "imports",
1253
+ "description": "createMockNode imports DepNode from types.ts"
1254
+ },
1255
+ {
1256
+ "from": "createMockNode__metrics_test",
1257
+ "to": "computeMetrics__metrics",
1258
+ "type": "imports",
1259
+ "description": "createMockNode imports computeMetrics from metrics.ts"
1260
+ },
1261
+ {
1262
+ "from": "createMockNode__metrics_test",
1263
+ "to": "getEntryPoints__metrics",
1264
+ "type": "imports",
1265
+ "description": "createMockNode imports getEntryPoints from metrics.ts"
1266
+ },
1267
+ {
1268
+ "from": "createMockNode__metrics_test",
1269
+ "to": "getLeafNodes__metrics",
1270
+ "type": "imports",
1271
+ "description": "createMockNode imports getLeafNodes from metrics.ts"
1272
+ },
1273
+ {
1274
+ "from": "createMockNode__metrics_test",
1275
+ "to": "getIsolatedNodes__metrics",
1276
+ "type": "imports",
1277
+ "description": "createMockNode imports getIsolatedNodes from metrics.ts"
1278
+ },
1279
+ {
1280
+ "from": "createMockNode__metrics_test",
1281
+ "to": "getCriticalNodes__metrics",
1282
+ "type": "imports",
1283
+ "description": "createMockNode imports getCriticalNodes from metrics.ts"
1284
+ },
1285
+ {
1286
+ "from": "createMockNode__metrics_test",
1287
+ "to": "DepGraph__types",
1288
+ "type": "imports",
1289
+ "description": "createMockNode imports DepGraph from types.ts"
1290
+ },
1291
+ {
1292
+ "from": "createMockNode__metrics_test",
1293
+ "to": "DepNode__types",
1294
+ "type": "imports",
1295
+ "description": "createMockNode imports DepNode from types.ts"
1296
+ },
1297
+ {
1298
+ "from": "activeFunc__parser_test",
1299
+ "to": "parseFile__parser",
1300
+ "type": "imports",
1301
+ "description": "activeFunc imports parseFile from parser.ts"
1302
+ },
1303
+ {
1304
+ "from": "estimateComplexity__javascript",
1305
+ "to": "RawEntity__types",
1306
+ "type": "imports",
1307
+ "description": "estimateComplexity imports RawEntity from types.ts"
1308
+ },
1309
+ {
1310
+ "from": "slugify__javascript",
1311
+ "to": "RawEntity__types",
1312
+ "type": "imports",
1313
+ "description": "slugify imports RawEntity from types.ts"
1314
+ },
1315
+ {
1316
+ "from": "extractEntities__javascript",
1317
+ "to": "RawEntity__types",
1318
+ "type": "imports",
1319
+ "description": "extractEntities imports RawEntity from types.ts"
1320
+ },
1321
+ {
1322
+ "from": "extractImports__javascript",
1323
+ "to": "RawEntity__types",
1324
+ "type": "imports",
1325
+ "description": "extractImports imports RawEntity from types.ts"
1326
+ },
1327
+ {
1328
+ "from": "extractExports__javascript",
1329
+ "to": "RawEntity__types",
1330
+ "type": "imports",
1331
+ "description": "extractExports imports RawEntity from types.ts"
1332
+ },
1333
+ {
1334
+ "from": "estimateComplexity__javascript",
1335
+ "to": "RawImport__types",
1336
+ "type": "imports",
1337
+ "description": "estimateComplexity imports RawImport from types.ts"
1338
+ },
1339
+ {
1340
+ "from": "slugify__javascript",
1341
+ "to": "RawImport__types",
1342
+ "type": "imports",
1343
+ "description": "slugify imports RawImport from types.ts"
1344
+ },
1345
+ {
1346
+ "from": "extractEntities__javascript",
1347
+ "to": "RawImport__types",
1348
+ "type": "imports",
1349
+ "description": "extractEntities imports RawImport from types.ts"
1350
+ },
1351
+ {
1352
+ "from": "extractImports__javascript",
1353
+ "to": "RawImport__types",
1354
+ "type": "imports",
1355
+ "description": "extractImports imports RawImport from types.ts"
1356
+ },
1357
+ {
1358
+ "from": "extractExports__javascript",
1359
+ "to": "RawImport__types",
1360
+ "type": "imports",
1361
+ "description": "extractExports imports RawImport from types.ts"
1362
+ },
1363
+ {
1364
+ "from": "estimateComplexity__javascript",
1365
+ "to": "LanguageParser__registry",
1366
+ "type": "imports",
1367
+ "description": "estimateComplexity imports LanguageParser from registry.ts"
1368
+ },
1369
+ {
1370
+ "from": "slugify__javascript",
1371
+ "to": "LanguageParser__registry",
1372
+ "type": "imports",
1373
+ "description": "slugify imports LanguageParser from registry.ts"
1374
+ },
1375
+ {
1376
+ "from": "extractEntities__javascript",
1377
+ "to": "LanguageParser__registry",
1378
+ "type": "imports",
1379
+ "description": "extractEntities imports LanguageParser from registry.ts"
1380
+ },
1381
+ {
1382
+ "from": "extractImports__javascript",
1383
+ "to": "LanguageParser__registry",
1384
+ "type": "imports",
1385
+ "description": "extractImports imports LanguageParser from registry.ts"
1386
+ },
1387
+ {
1388
+ "from": "extractExports__javascript",
1389
+ "to": "LanguageParser__registry",
1390
+ "type": "imports",
1391
+ "description": "extractExports imports LanguageParser from registry.ts"
1392
+ },
1393
+ {
1394
+ "from": "estimateComplexity__javascript",
1395
+ "to": "registerParser__registry",
1396
+ "type": "imports",
1397
+ "description": "estimateComplexity imports registerParser from registry.ts"
1398
+ },
1399
+ {
1400
+ "from": "slugify__javascript",
1401
+ "to": "registerParser__registry",
1402
+ "type": "imports",
1403
+ "description": "slugify imports registerParser from registry.ts"
1404
+ },
1405
+ {
1406
+ "from": "extractEntities__javascript",
1407
+ "to": "registerParser__registry",
1408
+ "type": "imports",
1409
+ "description": "extractEntities imports registerParser from registry.ts"
1410
+ },
1411
+ {
1412
+ "from": "extractImports__javascript",
1413
+ "to": "registerParser__registry",
1414
+ "type": "imports",
1415
+ "description": "extractImports imports registerParser from registry.ts"
1416
+ },
1417
+ {
1418
+ "from": "extractExports__javascript",
1419
+ "to": "registerParser__registry",
1420
+ "type": "imports",
1421
+ "description": "extractExports imports registerParser from registry.ts"
1422
+ },
1423
+ {
1424
+ "from": "registerParser__registry",
1425
+ "to": "RawEntity__types",
1426
+ "type": "imports",
1427
+ "description": "registerParser imports RawEntity from types.ts"
1428
+ },
1429
+ {
1430
+ "from": "getLanguageParser__registry",
1431
+ "to": "RawEntity__types",
1432
+ "type": "imports",
1433
+ "description": "getLanguageParser imports RawEntity from types.ts"
1434
+ },
1435
+ {
1436
+ "from": "LanguageParser__registry",
1437
+ "to": "RawEntity__types",
1438
+ "type": "imports",
1439
+ "description": "LanguageParser imports RawEntity from types.ts"
1440
+ },
1441
+ {
1442
+ "from": "registerParser__registry",
1443
+ "to": "RawImport__types",
1444
+ "type": "imports",
1445
+ "description": "registerParser imports RawImport from types.ts"
1446
+ },
1447
+ {
1448
+ "from": "getLanguageParser__registry",
1449
+ "to": "RawImport__types",
1450
+ "type": "imports",
1451
+ "description": "getLanguageParser imports RawImport from types.ts"
1452
+ },
1453
+ {
1454
+ "from": "LanguageParser__registry",
1455
+ "to": "RawImport__types",
1456
+ "type": "imports",
1457
+ "description": "LanguageParser imports RawImport from types.ts"
1458
+ },
1459
+ {
1460
+ "from": "color__main",
1461
+ "to": "collectFiles__collector",
1462
+ "type": "imports",
1463
+ "description": "color imports collectFiles from collector.ts"
1464
+ },
1465
+ {
1466
+ "from": "getFlag__main",
1467
+ "to": "collectFiles__collector",
1468
+ "type": "imports",
1469
+ "description": "getFlag imports collectFiles from collector.ts"
1470
+ },
1471
+ {
1472
+ "from": "printHelp__main",
1473
+ "to": "collectFiles__collector",
1474
+ "type": "imports",
1475
+ "description": "printHelp imports collectFiles from collector.ts"
1476
+ },
1477
+ {
1478
+ "from": "printBanner__main",
1479
+ "to": "collectFiles__collector",
1480
+ "type": "imports",
1481
+ "description": "printBanner imports collectFiles from collector.ts"
1482
+ },
1483
+ {
1484
+ "from": "printSummary__main",
1485
+ "to": "collectFiles__collector",
1486
+ "type": "imports",
1487
+ "description": "printSummary imports collectFiles from collector.ts"
1488
+ },
1489
+ {
1490
+ "from": "printImpact__main",
1491
+ "to": "collectFiles__collector",
1492
+ "type": "imports",
1493
+ "description": "printImpact imports collectFiles from collector.ts"
1494
+ },
1495
+ {
1496
+ "from": "dim__main",
1497
+ "to": "collectFiles__collector",
1498
+ "type": "imports",
1499
+ "description": "dim imports collectFiles from collector.ts"
1500
+ },
1501
+ {
1502
+ "from": "bold__main",
1503
+ "to": "collectFiles__collector",
1504
+ "type": "imports",
1505
+ "description": "bold imports collectFiles from collector.ts"
1506
+ },
1507
+ {
1508
+ "from": "green__main",
1509
+ "to": "collectFiles__collector",
1510
+ "type": "imports",
1511
+ "description": "green imports collectFiles from collector.ts"
1512
+ },
1513
+ {
1514
+ "from": "yellow__main",
1515
+ "to": "collectFiles__collector",
1516
+ "type": "imports",
1517
+ "description": "yellow imports collectFiles from collector.ts"
1518
+ },
1519
+ {
1520
+ "from": "red__main",
1521
+ "to": "collectFiles__collector",
1522
+ "type": "imports",
1523
+ "description": "red imports collectFiles from collector.ts"
1524
+ },
1525
+ {
1526
+ "from": "cyan__main",
1527
+ "to": "collectFiles__collector",
1528
+ "type": "imports",
1529
+ "description": "cyan imports collectFiles from collector.ts"
1530
+ },
1531
+ {
1532
+ "from": "color__main",
1533
+ "to": "parseFiles__parser",
1534
+ "type": "imports",
1535
+ "description": "color imports parseFiles from parser.ts"
1536
+ },
1537
+ {
1538
+ "from": "getFlag__main",
1539
+ "to": "parseFiles__parser",
1540
+ "type": "imports",
1541
+ "description": "getFlag imports parseFiles from parser.ts"
1542
+ },
1543
+ {
1544
+ "from": "printHelp__main",
1545
+ "to": "parseFiles__parser",
1546
+ "type": "imports",
1547
+ "description": "printHelp imports parseFiles from parser.ts"
1548
+ },
1549
+ {
1550
+ "from": "printBanner__main",
1551
+ "to": "parseFiles__parser",
1552
+ "type": "imports",
1553
+ "description": "printBanner imports parseFiles from parser.ts"
1554
+ },
1555
+ {
1556
+ "from": "printSummary__main",
1557
+ "to": "parseFiles__parser",
1558
+ "type": "imports",
1559
+ "description": "printSummary imports parseFiles from parser.ts"
1560
+ },
1561
+ {
1562
+ "from": "printImpact__main",
1563
+ "to": "parseFiles__parser",
1564
+ "type": "imports",
1565
+ "description": "printImpact imports parseFiles from parser.ts"
1566
+ },
1567
+ {
1568
+ "from": "dim__main",
1569
+ "to": "parseFiles__parser",
1570
+ "type": "imports",
1571
+ "description": "dim imports parseFiles from parser.ts"
1572
+ },
1573
+ {
1574
+ "from": "bold__main",
1575
+ "to": "parseFiles__parser",
1576
+ "type": "imports",
1577
+ "description": "bold imports parseFiles from parser.ts"
1578
+ },
1579
+ {
1580
+ "from": "green__main",
1581
+ "to": "parseFiles__parser",
1582
+ "type": "imports",
1583
+ "description": "green imports parseFiles from parser.ts"
1584
+ },
1585
+ {
1586
+ "from": "yellow__main",
1587
+ "to": "parseFiles__parser",
1588
+ "type": "imports",
1589
+ "description": "yellow imports parseFiles from parser.ts"
1590
+ },
1591
+ {
1592
+ "from": "red__main",
1593
+ "to": "parseFiles__parser",
1594
+ "type": "imports",
1595
+ "description": "red imports parseFiles from parser.ts"
1596
+ },
1597
+ {
1598
+ "from": "cyan__main",
1599
+ "to": "parseFiles__parser",
1600
+ "type": "imports",
1601
+ "description": "cyan imports parseFiles from parser.ts"
1602
+ },
1603
+ {
1604
+ "from": "color__main",
1605
+ "to": "buildGraph__graph",
1606
+ "type": "imports",
1607
+ "description": "color imports buildGraph from graph.ts"
1608
+ },
1609
+ {
1610
+ "from": "getFlag__main",
1611
+ "to": "buildGraph__graph",
1612
+ "type": "imports",
1613
+ "description": "getFlag imports buildGraph from graph.ts"
1614
+ },
1615
+ {
1616
+ "from": "printHelp__main",
1617
+ "to": "buildGraph__graph",
1618
+ "type": "imports",
1619
+ "description": "printHelp imports buildGraph from graph.ts"
1620
+ },
1621
+ {
1622
+ "from": "printBanner__main",
1623
+ "to": "buildGraph__graph",
1624
+ "type": "imports",
1625
+ "description": "printBanner imports buildGraph from graph.ts"
1626
+ },
1627
+ {
1628
+ "from": "printSummary__main",
1629
+ "to": "buildGraph__graph",
1630
+ "type": "imports",
1631
+ "description": "printSummary imports buildGraph from graph.ts"
1632
+ },
1633
+ {
1634
+ "from": "printImpact__main",
1635
+ "to": "buildGraph__graph",
1636
+ "type": "imports",
1637
+ "description": "printImpact imports buildGraph from graph.ts"
1638
+ },
1639
+ {
1640
+ "from": "dim__main",
1641
+ "to": "buildGraph__graph",
1642
+ "type": "imports",
1643
+ "description": "dim imports buildGraph from graph.ts"
1644
+ },
1645
+ {
1646
+ "from": "bold__main",
1647
+ "to": "buildGraph__graph",
1648
+ "type": "imports",
1649
+ "description": "bold imports buildGraph from graph.ts"
1650
+ },
1651
+ {
1652
+ "from": "green__main",
1653
+ "to": "buildGraph__graph",
1654
+ "type": "imports",
1655
+ "description": "green imports buildGraph from graph.ts"
1656
+ },
1657
+ {
1658
+ "from": "yellow__main",
1659
+ "to": "buildGraph__graph",
1660
+ "type": "imports",
1661
+ "description": "yellow imports buildGraph from graph.ts"
1662
+ },
1663
+ {
1664
+ "from": "red__main",
1665
+ "to": "buildGraph__graph",
1666
+ "type": "imports",
1667
+ "description": "red imports buildGraph from graph.ts"
1668
+ },
1669
+ {
1670
+ "from": "cyan__main",
1671
+ "to": "buildGraph__graph",
1672
+ "type": "imports",
1673
+ "description": "cyan imports buildGraph from graph.ts"
1674
+ },
1675
+ {
1676
+ "from": "color__main",
1677
+ "to": "computeMetrics__metrics",
1678
+ "type": "imports",
1679
+ "description": "color imports computeMetrics from metrics.ts"
1680
+ },
1681
+ {
1682
+ "from": "getFlag__main",
1683
+ "to": "computeMetrics__metrics",
1684
+ "type": "imports",
1685
+ "description": "getFlag imports computeMetrics from metrics.ts"
1686
+ },
1687
+ {
1688
+ "from": "printHelp__main",
1689
+ "to": "computeMetrics__metrics",
1690
+ "type": "imports",
1691
+ "description": "printHelp imports computeMetrics from metrics.ts"
1692
+ },
1693
+ {
1694
+ "from": "printBanner__main",
1695
+ "to": "computeMetrics__metrics",
1696
+ "type": "imports",
1697
+ "description": "printBanner imports computeMetrics from metrics.ts"
1698
+ },
1699
+ {
1700
+ "from": "printSummary__main",
1701
+ "to": "computeMetrics__metrics",
1702
+ "type": "imports",
1703
+ "description": "printSummary imports computeMetrics from metrics.ts"
1704
+ },
1705
+ {
1706
+ "from": "printImpact__main",
1707
+ "to": "computeMetrics__metrics",
1708
+ "type": "imports",
1709
+ "description": "printImpact imports computeMetrics from metrics.ts"
1710
+ },
1711
+ {
1712
+ "from": "dim__main",
1713
+ "to": "computeMetrics__metrics",
1714
+ "type": "imports",
1715
+ "description": "dim imports computeMetrics from metrics.ts"
1716
+ },
1717
+ {
1718
+ "from": "bold__main",
1719
+ "to": "computeMetrics__metrics",
1720
+ "type": "imports",
1721
+ "description": "bold imports computeMetrics from metrics.ts"
1722
+ },
1723
+ {
1724
+ "from": "green__main",
1725
+ "to": "computeMetrics__metrics",
1726
+ "type": "imports",
1727
+ "description": "green imports computeMetrics from metrics.ts"
1728
+ },
1729
+ {
1730
+ "from": "yellow__main",
1731
+ "to": "computeMetrics__metrics",
1732
+ "type": "imports",
1733
+ "description": "yellow imports computeMetrics from metrics.ts"
1734
+ },
1735
+ {
1736
+ "from": "red__main",
1737
+ "to": "computeMetrics__metrics",
1738
+ "type": "imports",
1739
+ "description": "red imports computeMetrics from metrics.ts"
1740
+ },
1741
+ {
1742
+ "from": "cyan__main",
1743
+ "to": "computeMetrics__metrics",
1744
+ "type": "imports",
1745
+ "description": "cyan imports computeMetrics from metrics.ts"
1746
+ },
1747
+ {
1748
+ "from": "color__main",
1749
+ "to": "getCriticalNodes__metrics",
1750
+ "type": "imports",
1751
+ "description": "color imports getCriticalNodes from metrics.ts"
1752
+ },
1753
+ {
1754
+ "from": "getFlag__main",
1755
+ "to": "getCriticalNodes__metrics",
1756
+ "type": "imports",
1757
+ "description": "getFlag imports getCriticalNodes from metrics.ts"
1758
+ },
1759
+ {
1760
+ "from": "printHelp__main",
1761
+ "to": "getCriticalNodes__metrics",
1762
+ "type": "imports",
1763
+ "description": "printHelp imports getCriticalNodes from metrics.ts"
1764
+ },
1765
+ {
1766
+ "from": "printBanner__main",
1767
+ "to": "getCriticalNodes__metrics",
1768
+ "type": "imports",
1769
+ "description": "printBanner imports getCriticalNodes from metrics.ts"
1770
+ },
1771
+ {
1772
+ "from": "printSummary__main",
1773
+ "to": "getCriticalNodes__metrics",
1774
+ "type": "imports",
1775
+ "description": "printSummary imports getCriticalNodes from metrics.ts"
1776
+ },
1777
+ {
1778
+ "from": "printImpact__main",
1779
+ "to": "getCriticalNodes__metrics",
1780
+ "type": "imports",
1781
+ "description": "printImpact imports getCriticalNodes from metrics.ts"
1782
+ },
1783
+ {
1784
+ "from": "dim__main",
1785
+ "to": "getCriticalNodes__metrics",
1786
+ "type": "imports",
1787
+ "description": "dim imports getCriticalNodes from metrics.ts"
1788
+ },
1789
+ {
1790
+ "from": "bold__main",
1791
+ "to": "getCriticalNodes__metrics",
1792
+ "type": "imports",
1793
+ "description": "bold imports getCriticalNodes from metrics.ts"
1794
+ },
1795
+ {
1796
+ "from": "green__main",
1797
+ "to": "getCriticalNodes__metrics",
1798
+ "type": "imports",
1799
+ "description": "green imports getCriticalNodes from metrics.ts"
1800
+ },
1801
+ {
1802
+ "from": "yellow__main",
1803
+ "to": "getCriticalNodes__metrics",
1804
+ "type": "imports",
1805
+ "description": "yellow imports getCriticalNodes from metrics.ts"
1806
+ },
1807
+ {
1808
+ "from": "red__main",
1809
+ "to": "getCriticalNodes__metrics",
1810
+ "type": "imports",
1811
+ "description": "red imports getCriticalNodes from metrics.ts"
1812
+ },
1813
+ {
1814
+ "from": "cyan__main",
1815
+ "to": "getCriticalNodes__metrics",
1816
+ "type": "imports",
1817
+ "description": "cyan imports getCriticalNodes from metrics.ts"
1818
+ },
1819
+ {
1820
+ "from": "color__main",
1821
+ "to": "simulateImpact__impact",
1822
+ "type": "imports",
1823
+ "description": "color imports simulateImpact from impact.ts"
1824
+ },
1825
+ {
1826
+ "from": "getFlag__main",
1827
+ "to": "simulateImpact__impact",
1828
+ "type": "imports",
1829
+ "description": "getFlag imports simulateImpact from impact.ts"
1830
+ },
1831
+ {
1832
+ "from": "printHelp__main",
1833
+ "to": "simulateImpact__impact",
1834
+ "type": "imports",
1835
+ "description": "printHelp imports simulateImpact from impact.ts"
1836
+ },
1837
+ {
1838
+ "from": "printBanner__main",
1839
+ "to": "simulateImpact__impact",
1840
+ "type": "imports",
1841
+ "description": "printBanner imports simulateImpact from impact.ts"
1842
+ },
1843
+ {
1844
+ "from": "printSummary__main",
1845
+ "to": "simulateImpact__impact",
1846
+ "type": "imports",
1847
+ "description": "printSummary imports simulateImpact from impact.ts"
1848
+ },
1849
+ {
1850
+ "from": "printImpact__main",
1851
+ "to": "simulateImpact__impact",
1852
+ "type": "imports",
1853
+ "description": "printImpact imports simulateImpact from impact.ts"
1854
+ },
1855
+ {
1856
+ "from": "dim__main",
1857
+ "to": "simulateImpact__impact",
1858
+ "type": "imports",
1859
+ "description": "dim imports simulateImpact from impact.ts"
1860
+ },
1861
+ {
1862
+ "from": "bold__main",
1863
+ "to": "simulateImpact__impact",
1864
+ "type": "imports",
1865
+ "description": "bold imports simulateImpact from impact.ts"
1866
+ },
1867
+ {
1868
+ "from": "green__main",
1869
+ "to": "simulateImpact__impact",
1870
+ "type": "imports",
1871
+ "description": "green imports simulateImpact from impact.ts"
1872
+ },
1873
+ {
1874
+ "from": "yellow__main",
1875
+ "to": "simulateImpact__impact",
1876
+ "type": "imports",
1877
+ "description": "yellow imports simulateImpact from impact.ts"
1878
+ },
1879
+ {
1880
+ "from": "red__main",
1881
+ "to": "simulateImpact__impact",
1882
+ "type": "imports",
1883
+ "description": "red imports simulateImpact from impact.ts"
1884
+ },
1885
+ {
1886
+ "from": "cyan__main",
1887
+ "to": "simulateImpact__impact",
1888
+ "type": "imports",
1889
+ "description": "cyan imports simulateImpact from impact.ts"
1890
+ },
1891
+ {
1892
+ "from": "color__main",
1893
+ "to": "writeOutput__output",
1894
+ "type": "imports",
1895
+ "description": "color imports writeOutput from output.ts"
1896
+ },
1897
+ {
1898
+ "from": "getFlag__main",
1899
+ "to": "writeOutput__output",
1900
+ "type": "imports",
1901
+ "description": "getFlag imports writeOutput from output.ts"
1902
+ },
1903
+ {
1904
+ "from": "printHelp__main",
1905
+ "to": "writeOutput__output",
1906
+ "type": "imports",
1907
+ "description": "printHelp imports writeOutput from output.ts"
1908
+ },
1909
+ {
1910
+ "from": "printBanner__main",
1911
+ "to": "writeOutput__output",
1912
+ "type": "imports",
1913
+ "description": "printBanner imports writeOutput from output.ts"
1914
+ },
1915
+ {
1916
+ "from": "printSummary__main",
1917
+ "to": "writeOutput__output",
1918
+ "type": "imports",
1919
+ "description": "printSummary imports writeOutput from output.ts"
1920
+ },
1921
+ {
1922
+ "from": "printImpact__main",
1923
+ "to": "writeOutput__output",
1924
+ "type": "imports",
1925
+ "description": "printImpact imports writeOutput from output.ts"
1926
+ },
1927
+ {
1928
+ "from": "dim__main",
1929
+ "to": "writeOutput__output",
1930
+ "type": "imports",
1931
+ "description": "dim imports writeOutput from output.ts"
1932
+ },
1933
+ {
1934
+ "from": "bold__main",
1935
+ "to": "writeOutput__output",
1936
+ "type": "imports",
1937
+ "description": "bold imports writeOutput from output.ts"
1938
+ },
1939
+ {
1940
+ "from": "green__main",
1941
+ "to": "writeOutput__output",
1942
+ "type": "imports",
1943
+ "description": "green imports writeOutput from output.ts"
1944
+ },
1945
+ {
1946
+ "from": "yellow__main",
1947
+ "to": "writeOutput__output",
1948
+ "type": "imports",
1949
+ "description": "yellow imports writeOutput from output.ts"
1950
+ },
1951
+ {
1952
+ "from": "red__main",
1953
+ "to": "writeOutput__output",
1954
+ "type": "imports",
1955
+ "description": "red imports writeOutput from output.ts"
1956
+ },
1957
+ {
1958
+ "from": "cyan__main",
1959
+ "to": "writeOutput__output",
1960
+ "type": "imports",
1961
+ "description": "cyan imports writeOutput from output.ts"
1962
+ },
1963
+ {
1964
+ "from": "buildGraph__graph",
1965
+ "to": "ParsedFile__types",
1966
+ "type": "imports",
1967
+ "description": "buildGraph imports ParsedFile from types.ts"
1968
+ },
1969
+ {
1970
+ "from": "makeId__graph",
1971
+ "to": "ParsedFile__types",
1972
+ "type": "imports",
1973
+ "description": "makeId imports ParsedFile from types.ts"
1974
+ },
1975
+ {
1976
+ "from": "resolvePath__graph",
1977
+ "to": "ParsedFile__types",
1978
+ "type": "imports",
1979
+ "description": "resolvePath imports ParsedFile from types.ts"
1980
+ },
1981
+ {
1982
+ "from": "buildGraph__graph",
1983
+ "to": "DepGraph__types",
1984
+ "type": "imports",
1985
+ "description": "buildGraph imports DepGraph from types.ts"
1986
+ },
1987
+ {
1988
+ "from": "makeId__graph",
1989
+ "to": "DepGraph__types",
1990
+ "type": "imports",
1991
+ "description": "makeId imports DepGraph from types.ts"
1992
+ },
1993
+ {
1994
+ "from": "resolvePath__graph",
1995
+ "to": "DepGraph__types",
1996
+ "type": "imports",
1997
+ "description": "resolvePath imports DepGraph from types.ts"
1998
+ },
1999
+ {
2000
+ "from": "buildGraph__graph",
2001
+ "to": "DepNode__types",
2002
+ "type": "imports",
2003
+ "description": "buildGraph imports DepNode from types.ts"
2004
+ },
2005
+ {
2006
+ "from": "makeId__graph",
2007
+ "to": "DepNode__types",
2008
+ "type": "imports",
2009
+ "description": "makeId imports DepNode from types.ts"
2010
+ },
2011
+ {
2012
+ "from": "resolvePath__graph",
2013
+ "to": "DepNode__types",
2014
+ "type": "imports",
2015
+ "description": "resolvePath imports DepNode from types.ts"
2016
+ },
2017
+ {
2018
+ "from": "buildGraph__graph",
2019
+ "to": "DepEdge__types",
2020
+ "type": "imports",
2021
+ "description": "buildGraph imports DepEdge from types.ts"
2022
+ },
2023
+ {
2024
+ "from": "makeId__graph",
2025
+ "to": "DepEdge__types",
2026
+ "type": "imports",
2027
+ "description": "makeId imports DepEdge from types.ts"
2028
+ },
2029
+ {
2030
+ "from": "resolvePath__graph",
2031
+ "to": "DepEdge__types",
2032
+ "type": "imports",
2033
+ "description": "resolvePath imports DepEdge from types.ts"
2034
+ },
2035
+ {
2036
+ "from": "simulateImpact__impact",
2037
+ "to": "DepGraph__types",
2038
+ "type": "imports",
2039
+ "description": "simulateImpact imports DepGraph from types.ts"
2040
+ },
2041
+ {
2042
+ "from": "getDirectDependents__impact",
2043
+ "to": "DepGraph__types",
2044
+ "type": "imports",
2045
+ "description": "getDirectDependents imports DepGraph from types.ts"
2046
+ },
2047
+ {
2048
+ "from": "getImpactLevel__impact",
2049
+ "to": "DepGraph__types",
2050
+ "type": "imports",
2051
+ "description": "getImpactLevel imports DepGraph from types.ts"
2052
+ },
2053
+ {
2054
+ "from": "computeRiskScore__impact",
2055
+ "to": "DepGraph__types",
2056
+ "type": "imports",
2057
+ "description": "computeRiskScore imports DepGraph from types.ts"
2058
+ },
2059
+ {
2060
+ "from": "getRiskLevel__impact",
2061
+ "to": "DepGraph__types",
2062
+ "type": "imports",
2063
+ "description": "getRiskLevel imports DepGraph from types.ts"
2064
+ },
2065
+ {
2066
+ "from": "getReason__impact",
2067
+ "to": "DepGraph__types",
2068
+ "type": "imports",
2069
+ "description": "getReason imports DepGraph from types.ts"
2070
+ },
2071
+ {
2072
+ "from": "getChangeRequired__impact",
2073
+ "to": "DepGraph__types",
2074
+ "type": "imports",
2075
+ "description": "getChangeRequired imports DepGraph from types.ts"
2076
+ },
2077
+ {
2078
+ "from": "buildTestingPlan__impact",
2079
+ "to": "DepGraph__types",
2080
+ "type": "imports",
2081
+ "description": "buildTestingPlan imports DepGraph from types.ts"
2082
+ },
2083
+ {
2084
+ "from": "buildRecommendations__impact",
2085
+ "to": "DepGraph__types",
2086
+ "type": "imports",
2087
+ "description": "buildRecommendations imports DepGraph from types.ts"
2088
+ },
2089
+ {
2090
+ "from": "emptyReport__impact",
2091
+ "to": "DepGraph__types",
2092
+ "type": "imports",
2093
+ "description": "emptyReport imports DepGraph from types.ts"
2094
+ },
2095
+ {
2096
+ "from": "simulateImpact__impact",
2097
+ "to": "AffectedNode__types",
2098
+ "type": "imports",
2099
+ "description": "simulateImpact imports AffectedNode from types.ts"
2100
+ },
2101
+ {
2102
+ "from": "getDirectDependents__impact",
2103
+ "to": "AffectedNode__types",
2104
+ "type": "imports",
2105
+ "description": "getDirectDependents imports AffectedNode from types.ts"
2106
+ },
2107
+ {
2108
+ "from": "getImpactLevel__impact",
2109
+ "to": "AffectedNode__types",
2110
+ "type": "imports",
2111
+ "description": "getImpactLevel imports AffectedNode from types.ts"
2112
+ },
2113
+ {
2114
+ "from": "computeRiskScore__impact",
2115
+ "to": "AffectedNode__types",
2116
+ "type": "imports",
2117
+ "description": "computeRiskScore imports AffectedNode from types.ts"
2118
+ },
2119
+ {
2120
+ "from": "getRiskLevel__impact",
2121
+ "to": "AffectedNode__types",
2122
+ "type": "imports",
2123
+ "description": "getRiskLevel imports AffectedNode from types.ts"
2124
+ },
2125
+ {
2126
+ "from": "getReason__impact",
2127
+ "to": "AffectedNode__types",
2128
+ "type": "imports",
2129
+ "description": "getReason imports AffectedNode from types.ts"
2130
+ },
2131
+ {
2132
+ "from": "getChangeRequired__impact",
2133
+ "to": "AffectedNode__types",
2134
+ "type": "imports",
2135
+ "description": "getChangeRequired imports AffectedNode from types.ts"
2136
+ },
2137
+ {
2138
+ "from": "buildTestingPlan__impact",
2139
+ "to": "AffectedNode__types",
2140
+ "type": "imports",
2141
+ "description": "buildTestingPlan imports AffectedNode from types.ts"
2142
+ },
2143
+ {
2144
+ "from": "buildRecommendations__impact",
2145
+ "to": "AffectedNode__types",
2146
+ "type": "imports",
2147
+ "description": "buildRecommendations imports AffectedNode from types.ts"
2148
+ },
2149
+ {
2150
+ "from": "emptyReport__impact",
2151
+ "to": "AffectedNode__types",
2152
+ "type": "imports",
2153
+ "description": "emptyReport imports AffectedNode from types.ts"
2154
+ },
2155
+ {
2156
+ "from": "simulateImpact__impact",
2157
+ "to": "ImpactReport__types",
2158
+ "type": "imports",
2159
+ "description": "simulateImpact imports ImpactReport from types.ts"
2160
+ },
2161
+ {
2162
+ "from": "getDirectDependents__impact",
2163
+ "to": "ImpactReport__types",
2164
+ "type": "imports",
2165
+ "description": "getDirectDependents imports ImpactReport from types.ts"
2166
+ },
2167
+ {
2168
+ "from": "getImpactLevel__impact",
2169
+ "to": "ImpactReport__types",
2170
+ "type": "imports",
2171
+ "description": "getImpactLevel imports ImpactReport from types.ts"
2172
+ },
2173
+ {
2174
+ "from": "computeRiskScore__impact",
2175
+ "to": "ImpactReport__types",
2176
+ "type": "imports",
2177
+ "description": "computeRiskScore imports ImpactReport from types.ts"
2178
+ },
2179
+ {
2180
+ "from": "getRiskLevel__impact",
2181
+ "to": "ImpactReport__types",
2182
+ "type": "imports",
2183
+ "description": "getRiskLevel imports ImpactReport from types.ts"
2184
+ },
2185
+ {
2186
+ "from": "getReason__impact",
2187
+ "to": "ImpactReport__types",
2188
+ "type": "imports",
2189
+ "description": "getReason imports ImpactReport from types.ts"
2190
+ },
2191
+ {
2192
+ "from": "getChangeRequired__impact",
2193
+ "to": "ImpactReport__types",
2194
+ "type": "imports",
2195
+ "description": "getChangeRequired imports ImpactReport from types.ts"
2196
+ },
2197
+ {
2198
+ "from": "buildTestingPlan__impact",
2199
+ "to": "ImpactReport__types",
2200
+ "type": "imports",
2201
+ "description": "buildTestingPlan imports ImpactReport from types.ts"
2202
+ },
2203
+ {
2204
+ "from": "buildRecommendations__impact",
2205
+ "to": "ImpactReport__types",
2206
+ "type": "imports",
2207
+ "description": "buildRecommendations imports ImpactReport from types.ts"
2208
+ },
2209
+ {
2210
+ "from": "emptyReport__impact",
2211
+ "to": "ImpactReport__types",
2212
+ "type": "imports",
2213
+ "description": "emptyReport imports ImpactReport from types.ts"
2214
+ },
2215
+ {
2216
+ "from": "computeMetrics__metrics",
2217
+ "to": "DepGraph__types",
2218
+ "type": "imports",
2219
+ "description": "computeMetrics imports DepGraph from types.ts"
2220
+ },
2221
+ {
2222
+ "from": "getEntryPoints__metrics",
2223
+ "to": "DepGraph__types",
2224
+ "type": "imports",
2225
+ "description": "getEntryPoints imports DepGraph from types.ts"
2226
+ },
2227
+ {
2228
+ "from": "getLeafNodes__metrics",
2229
+ "to": "DepGraph__types",
2230
+ "type": "imports",
2231
+ "description": "getLeafNodes imports DepGraph from types.ts"
2232
+ },
2233
+ {
2234
+ "from": "getIsolatedNodes__metrics",
2235
+ "to": "DepGraph__types",
2236
+ "type": "imports",
2237
+ "description": "getIsolatedNodes imports DepGraph from types.ts"
2238
+ },
2239
+ {
2240
+ "from": "getCriticalNodes__metrics",
2241
+ "to": "DepGraph__types",
2242
+ "type": "imports",
2243
+ "description": "getCriticalNodes imports DepGraph from types.ts"
2244
+ },
2245
+ {
2246
+ "from": "computeMetrics__metrics",
2247
+ "to": "DepNode__types",
2248
+ "type": "imports",
2249
+ "description": "computeMetrics imports DepNode from types.ts"
2250
+ },
2251
+ {
2252
+ "from": "getEntryPoints__metrics",
2253
+ "to": "DepNode__types",
2254
+ "type": "imports",
2255
+ "description": "getEntryPoints imports DepNode from types.ts"
2256
+ },
2257
+ {
2258
+ "from": "getLeafNodes__metrics",
2259
+ "to": "DepNode__types",
2260
+ "type": "imports",
2261
+ "description": "getLeafNodes imports DepNode from types.ts"
2262
+ },
2263
+ {
2264
+ "from": "getIsolatedNodes__metrics",
2265
+ "to": "DepNode__types",
2266
+ "type": "imports",
2267
+ "description": "getIsolatedNodes imports DepNode from types.ts"
2268
+ },
2269
+ {
2270
+ "from": "getCriticalNodes__metrics",
2271
+ "to": "DepNode__types",
2272
+ "type": "imports",
2273
+ "description": "getCriticalNodes imports DepNode from types.ts"
2274
+ },
2275
+ {
2276
+ "from": "writeOutput__output",
2277
+ "to": "DepGraph__types",
2278
+ "type": "imports",
2279
+ "description": "writeOutput imports DepGraph from types.ts"
2280
+ },
2281
+ {
2282
+ "from": "writeOutput__output",
2283
+ "to": "ParsedFile__types",
2284
+ "type": "imports",
2285
+ "description": "writeOutput imports ParsedFile from types.ts"
2286
+ },
2287
+ {
2288
+ "from": "writeOutput__output",
2289
+ "to": "ImpactReport__types",
2290
+ "type": "imports",
2291
+ "description": "writeOutput imports ImpactReport from types.ts"
2292
+ },
2293
+ {
2294
+ "from": "writeOutput__output",
2295
+ "to": "OutputJSON__types",
2296
+ "type": "imports",
2297
+ "description": "writeOutput imports OutputJSON from types.ts"
2298
+ },
2299
+ {
2300
+ "from": "writeOutput__output",
2301
+ "to": "getEntryPoints__metrics",
2302
+ "type": "imports",
2303
+ "description": "writeOutput imports getEntryPoints from metrics.ts"
2304
+ },
2305
+ {
2306
+ "from": "writeOutput__output",
2307
+ "to": "getLeafNodes__metrics",
2308
+ "type": "imports",
2309
+ "description": "writeOutput imports getLeafNodes from metrics.ts"
2310
+ },
2311
+ {
2312
+ "from": "writeOutput__output",
2313
+ "to": "getIsolatedNodes__metrics",
2314
+ "type": "imports",
2315
+ "description": "writeOutput imports getIsolatedNodes from metrics.ts"
2316
+ },
2317
+ {
2318
+ "from": "writeOutput__output",
2319
+ "to": "getCriticalNodes__metrics",
2320
+ "type": "imports",
2321
+ "description": "writeOutput imports getCriticalNodes from metrics.ts"
2322
+ },
2323
+ {
2324
+ "from": "parseFile__parser",
2325
+ "to": "ParsedFile__types",
2326
+ "type": "imports",
2327
+ "description": "parseFile imports ParsedFile from types.ts"
2328
+ },
2329
+ {
2330
+ "from": "parseFiles__parser",
2331
+ "to": "ParsedFile__types",
2332
+ "type": "imports",
2333
+ "description": "parseFiles imports ParsedFile from types.ts"
2334
+ },
2335
+ {
2336
+ "from": "parseFile__parser",
2337
+ "to": "RawEntity__types",
2338
+ "type": "imports",
2339
+ "description": "parseFile imports RawEntity from types.ts"
2340
+ },
2341
+ {
2342
+ "from": "parseFiles__parser",
2343
+ "to": "RawEntity__types",
2344
+ "type": "imports",
2345
+ "description": "parseFiles imports RawEntity from types.ts"
2346
+ },
2347
+ {
2348
+ "from": "parseFile__parser",
2349
+ "to": "RawImport__types",
2350
+ "type": "imports",
2351
+ "description": "parseFile imports RawImport from types.ts"
2352
+ },
2353
+ {
2354
+ "from": "parseFiles__parser",
2355
+ "to": "RawImport__types",
2356
+ "type": "imports",
2357
+ "description": "parseFiles imports RawImport from types.ts"
2358
+ },
2359
+ {
2360
+ "from": "parseFile__parser",
2361
+ "to": "getLanguageParser__registry",
2362
+ "type": "imports",
2363
+ "description": "parseFile imports getLanguageParser from registry.ts"
2364
+ },
2365
+ {
2366
+ "from": "parseFiles__parser",
2367
+ "to": "getLanguageParser__registry",
2368
+ "type": "imports",
2369
+ "description": "parseFiles imports getLanguageParser from registry.ts"
2370
+ }
2371
+ ],
2372
+ "files": [
2373
+ {
2374
+ "filePath": "src/__tests__/collector.test.ts",
2375
+ "lang": "js",
2376
+ "lines": 80,
2377
+ "entities": [],
2378
+ "imports": [
2379
+ {
2380
+ "source": "vitest",
2381
+ "names": [
2382
+ "describe",
2383
+ "it",
2384
+ "expect",
2385
+ "beforeEach",
2386
+ "afterEach"
2387
+ ],
2388
+ "isLocal": false
2389
+ },
2390
+ {
2391
+ "source": "../stages/collector",
2392
+ "names": [
2393
+ "collectFiles"
2394
+ ],
2395
+ "isLocal": true
2396
+ },
2397
+ {
2398
+ "source": "fs",
2399
+ "names": [
2400
+ "fs"
2401
+ ],
2402
+ "isLocal": false
2403
+ },
2404
+ {
2405
+ "source": "path",
2406
+ "names": [
2407
+ "path"
2408
+ ],
2409
+ "isLocal": false
2410
+ }
2411
+ ],
2412
+ "exports": []
2413
+ },
2414
+ {
2415
+ "filePath": "src/__tests__/graph.test.ts",
2416
+ "lang": "js",
2417
+ "lines": 211,
2418
+ "entities": [
2419
+ {
2420
+ "name": "makeId",
2421
+ "type": "function",
2422
+ "line": 5,
2423
+ "complexity": "low"
2424
+ }
2425
+ ],
2426
+ "imports": [
2427
+ {
2428
+ "source": "vitest",
2429
+ "names": [
2430
+ "describe",
2431
+ "it",
2432
+ "expect"
2433
+ ],
2434
+ "isLocal": false
2435
+ },
2436
+ {
2437
+ "source": "../stages/graph",
2438
+ "names": [
2439
+ "buildGraph"
2440
+ ],
2441
+ "isLocal": true
2442
+ },
2443
+ {
2444
+ "source": "../types",
2445
+ "names": [
2446
+ "ParsedFile"
2447
+ ],
2448
+ "isLocal": true
2449
+ }
2450
+ ],
2451
+ "exports": []
2452
+ },
2453
+ {
2454
+ "filePath": "src/__tests__/impact.test.ts",
2455
+ "lang": "js",
2456
+ "lines": 183,
2457
+ "entities": [
2458
+ {
2459
+ "name": "createMockNode",
2460
+ "type": "function",
2461
+ "line": 5,
2462
+ "complexity": "low"
2463
+ }
2464
+ ],
2465
+ "imports": [
2466
+ {
2467
+ "source": "vitest",
2468
+ "names": [
2469
+ "describe",
2470
+ "it",
2471
+ "expect"
2472
+ ],
2473
+ "isLocal": false
2474
+ },
2475
+ {
2476
+ "source": "../stages/impact",
2477
+ "names": [
2478
+ "simulateImpact"
2479
+ ],
2480
+ "isLocal": true
2481
+ },
2482
+ {
2483
+ "source": "../types",
2484
+ "names": [
2485
+ "DepGraph",
2486
+ "DepNode"
2487
+ ],
2488
+ "isLocal": true
2489
+ }
2490
+ ],
2491
+ "exports": []
2492
+ },
2493
+ {
2494
+ "filePath": "src/__tests__/metrics.test.ts",
2495
+ "lang": "js",
2496
+ "lines": 121,
2497
+ "entities": [
2498
+ {
2499
+ "name": "createMockNode",
2500
+ "type": "function",
2501
+ "line": 11,
2502
+ "complexity": "low"
2503
+ }
2504
+ ],
2505
+ "imports": [
2506
+ {
2507
+ "source": "vitest",
2508
+ "names": [
2509
+ "describe",
2510
+ "it",
2511
+ "expect"
2512
+ ],
2513
+ "isLocal": false
2514
+ },
2515
+ {
2516
+ "source": "../stages/metrics",
2517
+ "names": [
2518
+ "computeMetrics",
2519
+ "getEntryPoints",
2520
+ "getLeafNodes",
2521
+ "getIsolatedNodes",
2522
+ "getCriticalNodes"
2523
+ ],
2524
+ "isLocal": true
2525
+ },
2526
+ {
2527
+ "source": "../types",
2528
+ "names": [
2529
+ "DepGraph",
2530
+ "DepNode"
2531
+ ],
2532
+ "isLocal": true
2533
+ }
2534
+ ],
2535
+ "exports": []
2536
+ },
2537
+ {
2538
+ "filePath": "src/__tests__/output.test.ts",
2539
+ "lang": "js",
2540
+ "lines": 112,
2541
+ "entities": [],
2542
+ "imports": [
2543
+ {
2544
+ "source": "vitest",
2545
+ "names": [
2546
+ "describe",
2547
+ "it",
2548
+ "expect",
2549
+ "beforeEach",
2550
+ "afterEach"
2551
+ ],
2552
+ "isLocal": false
2553
+ },
2554
+ {
2555
+ "source": "../stages/output",
2556
+ "names": [
2557
+ "writeOutput"
2558
+ ],
2559
+ "isLocal": true
2560
+ },
2561
+ {
2562
+ "source": "../types",
2563
+ "names": [
2564
+ "DepGraph",
2565
+ "ParsedFile",
2566
+ "ImpactReport"
2567
+ ],
2568
+ "isLocal": true
2569
+ },
2570
+ {
2571
+ "source": "fs",
2572
+ "names": [
2573
+ "fs"
2574
+ ],
2575
+ "isLocal": false
2576
+ },
2577
+ {
2578
+ "source": "path",
2579
+ "names": [
2580
+ "path"
2581
+ ],
2582
+ "isLocal": false
2583
+ }
2584
+ ],
2585
+ "exports": []
2586
+ },
2587
+ {
2588
+ "filePath": "src/__tests__/parser.test.ts",
2589
+ "lang": "js",
2590
+ "lines": 162,
2591
+ "entities": [
2592
+ {
2593
+ "name": "activeFunc",
2594
+ "type": "function",
2595
+ "line": 145,
2596
+ "complexity": "low"
2597
+ }
2598
+ ],
2599
+ "imports": [
2600
+ {
2601
+ "source": "vitest",
2602
+ "names": [
2603
+ "describe",
2604
+ "it",
2605
+ "expect",
2606
+ "beforeEach",
2607
+ "afterEach"
2608
+ ],
2609
+ "isLocal": false
2610
+ },
2611
+ {
2612
+ "source": "../stages/parser",
2613
+ "names": [
2614
+ "parseFile"
2615
+ ],
2616
+ "isLocal": true
2617
+ },
2618
+ {
2619
+ "source": "fs",
2620
+ "names": [
2621
+ "fs"
2622
+ ],
2623
+ "isLocal": false
2624
+ },
2625
+ {
2626
+ "source": "path",
2627
+ "names": [
2628
+ "path"
2629
+ ],
2630
+ "isLocal": false
2631
+ }
2632
+ ],
2633
+ "exports": []
2634
+ },
2635
+ {
2636
+ "filePath": "src/constants.ts",
2637
+ "lang": "js",
2638
+ "lines": 26,
2639
+ "entities": [],
2640
+ "imports": [],
2641
+ "exports": [
2642
+ "VERSION",
2643
+ "IGNORE_DIRS",
2644
+ "SUPPORTED_EXTS",
2645
+ "MAX_FILE_SIZE",
2646
+ "MAX_BFS_DEPTH",
2647
+ "COMPLEXITY_THRESHOLDS"
2648
+ ]
2649
+ },
2650
+ {
2651
+ "filePath": "src/languages/csharp.ts",
2652
+ "lang": "js",
2653
+ "lines": 1,
2654
+ "entities": [],
2655
+ "imports": [],
2656
+ "exports": []
2657
+ },
2658
+ {
2659
+ "filePath": "src/languages/go.ts",
2660
+ "lang": "js",
2661
+ "lines": 1,
2662
+ "entities": [],
2663
+ "imports": [],
2664
+ "exports": []
2665
+ },
2666
+ {
2667
+ "filePath": "src/languages/java.ts",
2668
+ "lang": "js",
2669
+ "lines": 1,
2670
+ "entities": [],
2671
+ "imports": [],
2672
+ "exports": []
2673
+ },
2674
+ {
2675
+ "filePath": "src/languages/javascript.ts",
2676
+ "lang": "js",
2677
+ "lines": 186,
2678
+ "entities": [
2679
+ {
2680
+ "name": "estimateComplexity",
2681
+ "type": "function",
2682
+ "line": 8,
2683
+ "complexity": "high"
2684
+ },
2685
+ {
2686
+ "name": "slugify",
2687
+ "type": "function",
2688
+ "line": 23,
2689
+ "complexity": "low"
2690
+ },
2691
+ {
2692
+ "name": "extractEntities",
2693
+ "type": "function",
2694
+ "line": 29,
2695
+ "complexity": "medium"
2696
+ },
2697
+ {
2698
+ "name": "extractImports",
2699
+ "type": "function",
2700
+ "line": 115,
2701
+ "complexity": "low"
2702
+ },
2703
+ {
2704
+ "name": "extractExports",
2705
+ "type": "function",
2706
+ "line": 156,
2707
+ "complexity": "low"
2708
+ }
2709
+ ],
2710
+ "imports": [
2711
+ {
2712
+ "source": "../types",
2713
+ "names": [
2714
+ "RawEntity",
2715
+ "RawImport"
2716
+ ],
2717
+ "isLocal": true
2718
+ },
2719
+ {
2720
+ "source": "./registry",
2721
+ "names": [
2722
+ "LanguageParser",
2723
+ "registerParser"
2724
+ ],
2725
+ "isLocal": true
2726
+ },
2727
+ {
2728
+ "source": "../constants",
2729
+ "names": [
2730
+ "COMPLEXITY_THRESHOLDS"
2731
+ ],
2732
+ "isLocal": true
2733
+ },
2734
+ {
2735
+ "source": "path",
2736
+ "names": [
2737
+ "path"
2738
+ ],
2739
+ "isLocal": false
2740
+ }
2741
+ ],
2742
+ "exports": []
2743
+ },
2744
+ {
2745
+ "filePath": "src/languages/kotlin.ts",
2746
+ "lang": "js",
2747
+ "lines": 1,
2748
+ "entities": [],
2749
+ "imports": [],
2750
+ "exports": []
2751
+ },
2752
+ {
2753
+ "filePath": "src/languages/php.ts",
2754
+ "lang": "js",
2755
+ "lines": 1,
2756
+ "entities": [],
2757
+ "imports": [],
2758
+ "exports": []
2759
+ },
2760
+ {
2761
+ "filePath": "src/languages/python.ts",
2762
+ "lang": "js",
2763
+ "lines": 1,
2764
+ "entities": [],
2765
+ "imports": [],
2766
+ "exports": []
2767
+ },
2768
+ {
2769
+ "filePath": "src/languages/registry.ts",
2770
+ "lang": "js",
2771
+ "lines": 21,
2772
+ "entities": [
2773
+ {
2774
+ "name": "registerParser",
2775
+ "type": "function",
2776
+ "line": 15,
2777
+ "complexity": "low"
2778
+ },
2779
+ {
2780
+ "name": "getLanguageParser",
2781
+ "type": "function",
2782
+ "line": 19,
2783
+ "complexity": "low"
2784
+ },
2785
+ {
2786
+ "name": "LanguageParser",
2787
+ "type": "interface",
2788
+ "line": 4,
2789
+ "complexity": "low"
2790
+ }
2791
+ ],
2792
+ "imports": [
2793
+ {
2794
+ "source": "../types",
2795
+ "names": [
2796
+ "RawEntity",
2797
+ "RawImport"
2798
+ ],
2799
+ "isLocal": true
2800
+ }
2801
+ ],
2802
+ "exports": [
2803
+ "LanguageParser",
2804
+ "registerParser",
2805
+ "getLanguageParser"
2806
+ ]
2807
+ },
2808
+ {
2809
+ "filePath": "src/languages/ruby.ts",
2810
+ "lang": "js",
2811
+ "lines": 1,
2812
+ "entities": [],
2813
+ "imports": [],
2814
+ "exports": []
2815
+ },
2816
+ {
2817
+ "filePath": "src/languages/swift.ts",
2818
+ "lang": "js",
2819
+ "lines": 1,
2820
+ "entities": [],
2821
+ "imports": [],
2822
+ "exports": []
2823
+ },
2824
+ {
2825
+ "filePath": "src/main.ts",
2826
+ "lang": "js",
2827
+ "lines": 183,
2828
+ "entities": [
2829
+ {
2830
+ "name": "color",
2831
+ "type": "function",
2832
+ "line": 19,
2833
+ "complexity": "low"
2834
+ },
2835
+ {
2836
+ "name": "getFlag",
2837
+ "type": "function",
2838
+ "line": 31,
2839
+ "complexity": "low"
2840
+ },
2841
+ {
2842
+ "name": "printHelp",
2843
+ "type": "function",
2844
+ "line": 36,
2845
+ "complexity": "low"
2846
+ },
2847
+ {
2848
+ "name": "printBanner",
2849
+ "type": "function",
2850
+ "line": 66,
2851
+ "complexity": "low"
2852
+ },
2853
+ {
2854
+ "name": "printSummary",
2855
+ "type": "function",
2856
+ "line": 74,
2857
+ "complexity": "low"
2858
+ },
2859
+ {
2860
+ "name": "printImpact",
2861
+ "type": "function",
2862
+ "line": 93,
2863
+ "complexity": "medium"
2864
+ },
2865
+ {
2866
+ "name": "dim",
2867
+ "type": "function",
2868
+ "line": 23,
2869
+ "complexity": "low"
2870
+ },
2871
+ {
2872
+ "name": "bold",
2873
+ "type": "function",
2874
+ "line": 24,
2875
+ "complexity": "low"
2876
+ },
2877
+ {
2878
+ "name": "green",
2879
+ "type": "function",
2880
+ "line": 25,
2881
+ "complexity": "low"
2882
+ },
2883
+ {
2884
+ "name": "yellow",
2885
+ "type": "function",
2886
+ "line": 26,
2887
+ "complexity": "low"
2888
+ },
2889
+ {
2890
+ "name": "red",
2891
+ "type": "function",
2892
+ "line": 27,
2893
+ "complexity": "low"
2894
+ },
2895
+ {
2896
+ "name": "cyan",
2897
+ "type": "function",
2898
+ "line": 28,
2899
+ "complexity": "low"
2900
+ }
2901
+ ],
2902
+ "imports": [
2903
+ {
2904
+ "source": "./stages/collector",
2905
+ "names": [
2906
+ "collectFiles"
2907
+ ],
2908
+ "isLocal": true
2909
+ },
2910
+ {
2911
+ "source": "./stages/parser",
2912
+ "names": [
2913
+ "parseFiles"
2914
+ ],
2915
+ "isLocal": true
2916
+ },
2917
+ {
2918
+ "source": "./stages/graph",
2919
+ "names": [
2920
+ "buildGraph"
2921
+ ],
2922
+ "isLocal": true
2923
+ },
2924
+ {
2925
+ "source": "./stages/metrics",
2926
+ "names": [
2927
+ "computeMetrics",
2928
+ "getCriticalNodes"
2929
+ ],
2930
+ "isLocal": true
2931
+ },
2932
+ {
2933
+ "source": "./stages/impact",
2934
+ "names": [
2935
+ "simulateImpact"
2936
+ ],
2937
+ "isLocal": true
2938
+ },
2939
+ {
2940
+ "source": "./stages/output",
2941
+ "names": [
2942
+ "writeOutput"
2943
+ ],
2944
+ "isLocal": true
2945
+ },
2946
+ {
2947
+ "source": "fs",
2948
+ "names": [
2949
+ "fs"
2950
+ ],
2951
+ "isLocal": false
2952
+ }
2953
+ ],
2954
+ "exports": []
2955
+ },
2956
+ {
2957
+ "filePath": "src/stages/collector.ts",
2958
+ "lang": "js",
2959
+ "lines": 48,
2960
+ "entities": [
2961
+ {
2962
+ "name": "collectFiles",
2963
+ "type": "function",
2964
+ "line": 5,
2965
+ "complexity": "medium"
2966
+ }
2967
+ ],
2968
+ "imports": [
2969
+ {
2970
+ "source": "../constants",
2971
+ "names": [
2972
+ "IGNORE_DIRS",
2973
+ "SUPPORTED_EXTS",
2974
+ "MAX_FILE_SIZE"
2975
+ ],
2976
+ "isLocal": true
2977
+ },
2978
+ {
2979
+ "source": "fs",
2980
+ "names": [
2981
+ "fs"
2982
+ ],
2983
+ "isLocal": false
2984
+ },
2985
+ {
2986
+ "source": "path",
2987
+ "names": [
2988
+ "path"
2989
+ ],
2990
+ "isLocal": false
2991
+ }
2992
+ ],
2993
+ "exports": [
2994
+ "collectFiles"
2995
+ ]
2996
+ },
2997
+ {
2998
+ "filePath": "src/stages/graph.ts",
2999
+ "lang": "js",
3000
+ "lines": 145,
3001
+ "entities": [
3002
+ {
3003
+ "name": "buildGraph",
3004
+ "type": "function",
3005
+ "line": 4,
3006
+ "complexity": "high"
3007
+ },
3008
+ {
3009
+ "name": "makeId",
3010
+ "type": "function",
3011
+ "line": 111,
3012
+ "complexity": "low"
3013
+ },
3014
+ {
3015
+ "name": "resolvePath",
3016
+ "type": "function",
3017
+ "line": 118,
3018
+ "complexity": "low"
3019
+ }
3020
+ ],
3021
+ "imports": [
3022
+ {
3023
+ "source": "../types",
3024
+ "names": [
3025
+ "ParsedFile",
3026
+ "DepGraph",
3027
+ "DepNode",
3028
+ "DepEdge"
3029
+ ],
3030
+ "isLocal": true
3031
+ },
3032
+ {
3033
+ "source": "path",
3034
+ "names": [
3035
+ "path"
3036
+ ],
3037
+ "isLocal": false
3038
+ }
3039
+ ],
3040
+ "exports": [
3041
+ "buildGraph"
3042
+ ]
3043
+ },
3044
+ {
3045
+ "filePath": "src/stages/impact.ts",
3046
+ "lang": "js",
3047
+ "lines": 200,
3048
+ "entities": [
3049
+ {
3050
+ "name": "simulateImpact",
3051
+ "type": "function",
3052
+ "line": 4,
3053
+ "complexity": "medium"
3054
+ },
3055
+ {
3056
+ "name": "getDirectDependents",
3057
+ "type": "function",
3058
+ "line": 94,
3059
+ "complexity": "low"
3060
+ },
3061
+ {
3062
+ "name": "getImpactLevel",
3063
+ "type": "function",
3064
+ "line": 100,
3065
+ "complexity": "low"
3066
+ },
3067
+ {
3068
+ "name": "computeRiskScore",
3069
+ "type": "function",
3070
+ "line": 107,
3071
+ "complexity": "low"
3072
+ },
3073
+ {
3074
+ "name": "getRiskLevel",
3075
+ "type": "function",
3076
+ "line": 117,
3077
+ "complexity": "low"
3078
+ },
3079
+ {
3080
+ "name": "getReason",
3081
+ "type": "function",
3082
+ "line": 124,
3083
+ "complexity": "low"
3084
+ },
3085
+ {
3086
+ "name": "getChangeRequired",
3087
+ "type": "function",
3088
+ "line": 130,
3089
+ "complexity": "medium"
3090
+ },
3091
+ {
3092
+ "name": "buildTestingPlan",
3093
+ "type": "function",
3094
+ "line": 137,
3095
+ "complexity": "low"
3096
+ },
3097
+ {
3098
+ "name": "buildRecommendations",
3099
+ "type": "function",
3100
+ "line": 159,
3101
+ "complexity": "medium"
3102
+ },
3103
+ {
3104
+ "name": "emptyReport",
3105
+ "type": "function",
3106
+ "line": 185,
3107
+ "complexity": "low"
3108
+ }
3109
+ ],
3110
+ "imports": [
3111
+ {
3112
+ "source": "../types",
3113
+ "names": [
3114
+ "DepGraph",
3115
+ "AffectedNode",
3116
+ "ImpactReport"
3117
+ ],
3118
+ "isLocal": true
3119
+ },
3120
+ {
3121
+ "source": "../constants",
3122
+ "names": [
3123
+ "MAX_BFS_DEPTH"
3124
+ ],
3125
+ "isLocal": true
3126
+ }
3127
+ ],
3128
+ "exports": [
3129
+ "simulateImpact"
3130
+ ]
3131
+ },
3132
+ {
3133
+ "filePath": "src/stages/metrics.ts",
3134
+ "lang": "js",
3135
+ "lines": 59,
3136
+ "entities": [
3137
+ {
3138
+ "name": "computeMetrics",
3139
+ "type": "function",
3140
+ "line": 3,
3141
+ "complexity": "medium"
3142
+ },
3143
+ {
3144
+ "name": "getEntryPoints",
3145
+ "type": "function",
3146
+ "line": 29,
3147
+ "complexity": "low"
3148
+ },
3149
+ {
3150
+ "name": "getLeafNodes",
3151
+ "type": "function",
3152
+ "line": 37,
3153
+ "complexity": "low"
3154
+ },
3155
+ {
3156
+ "name": "getIsolatedNodes",
3157
+ "type": "function",
3158
+ "line": 45,
3159
+ "complexity": "low"
3160
+ },
3161
+ {
3162
+ "name": "getCriticalNodes",
3163
+ "type": "function",
3164
+ "line": 53,
3165
+ "complexity": "low"
3166
+ }
3167
+ ],
3168
+ "imports": [
3169
+ {
3170
+ "source": "../types",
3171
+ "names": [
3172
+ "DepGraph",
3173
+ "DepNode"
3174
+ ],
3175
+ "isLocal": true
3176
+ }
3177
+ ],
3178
+ "exports": [
3179
+ "computeMetrics",
3180
+ "getEntryPoints",
3181
+ "getLeafNodes",
3182
+ "getIsolatedNodes",
3183
+ "getCriticalNodes"
3184
+ ]
3185
+ },
3186
+ {
3187
+ "filePath": "src/stages/output.ts",
3188
+ "lang": "js",
3189
+ "lines": 75,
3190
+ "entities": [
3191
+ {
3192
+ "name": "writeOutput",
3193
+ "type": "function",
3194
+ "line": 11,
3195
+ "complexity": "low"
3196
+ }
3197
+ ],
3198
+ "imports": [
3199
+ {
3200
+ "source": "../types",
3201
+ "names": [
3202
+ "DepGraph",
3203
+ "ParsedFile",
3204
+ "ImpactReport",
3205
+ "OutputJSON"
3206
+ ],
3207
+ "isLocal": true
3208
+ },
3209
+ {
3210
+ "source": "./metrics",
3211
+ "names": [
3212
+ "getEntryPoints",
3213
+ "getLeafNodes",
3214
+ "getIsolatedNodes",
3215
+ "getCriticalNodes"
3216
+ ],
3217
+ "isLocal": true
3218
+ },
3219
+ {
3220
+ "source": "fs",
3221
+ "names": [
3222
+ "fs"
3223
+ ],
3224
+ "isLocal": false
3225
+ },
3226
+ {
3227
+ "source": "path",
3228
+ "names": [
3229
+ "path"
3230
+ ],
3231
+ "isLocal": false
3232
+ }
3233
+ ],
3234
+ "exports": [
3235
+ "writeOutput"
3236
+ ]
3237
+ },
3238
+ {
3239
+ "filePath": "src/stages/parser.ts",
3240
+ "lang": "js",
3241
+ "lines": 52,
3242
+ "entities": [
3243
+ {
3244
+ "name": "parseFile",
3245
+ "type": "function",
3246
+ "line": 6,
3247
+ "complexity": "low"
3248
+ },
3249
+ {
3250
+ "name": "parseFiles",
3251
+ "type": "function",
3252
+ "line": 41,
3253
+ "complexity": "low"
3254
+ }
3255
+ ],
3256
+ "imports": [
3257
+ {
3258
+ "source": "../types",
3259
+ "names": [
3260
+ "ParsedFile",
3261
+ "RawEntity",
3262
+ "RawImport"
3263
+ ],
3264
+ "isLocal": true
3265
+ },
3266
+ {
3267
+ "source": "../languages/registry",
3268
+ "names": [
3269
+ "getLanguageParser"
3270
+ ],
3271
+ "isLocal": true
3272
+ },
3273
+ {
3274
+ "source": "fs",
3275
+ "names": [
3276
+ "fs"
3277
+ ],
3278
+ "isLocal": false
3279
+ },
3280
+ {
3281
+ "source": "path",
3282
+ "names": [
3283
+ "path"
3284
+ ],
3285
+ "isLocal": false
3286
+ }
3287
+ ],
3288
+ "exports": [
3289
+ "parseFile",
3290
+ "parseFiles"
3291
+ ]
3292
+ },
3293
+ {
3294
+ "filePath": "src/types.ts",
3295
+ "lang": "js",
3296
+ "lines": 96,
3297
+ "entities": [
3298
+ {
3299
+ "name": "RawEntity",
3300
+ "type": "interface",
3301
+ "line": 4,
3302
+ "complexity": "low"
3303
+ },
3304
+ {
3305
+ "name": "RawImport",
3306
+ "type": "interface",
3307
+ "line": 11,
3308
+ "complexity": "low"
3309
+ },
3310
+ {
3311
+ "name": "ParsedFile",
3312
+ "type": "interface",
3313
+ "line": 17,
3314
+ "complexity": "low"
3315
+ },
3316
+ {
3317
+ "name": "DepNode",
3318
+ "type": "interface",
3319
+ "line": 26,
3320
+ "complexity": "low"
3321
+ },
3322
+ {
3323
+ "name": "DepEdge",
3324
+ "type": "interface",
3325
+ "line": 43,
3326
+ "complexity": "low"
3327
+ },
3328
+ {
3329
+ "name": "DepGraph",
3330
+ "type": "interface",
3331
+ "line": 50,
3332
+ "complexity": "low"
3333
+ },
3334
+ {
3335
+ "name": "AffectedNode",
3336
+ "type": "interface",
3337
+ "line": 55,
3338
+ "complexity": "low"
3339
+ },
3340
+ {
3341
+ "name": "ImpactReport",
3342
+ "type": "interface",
3343
+ "line": 66,
3344
+ "complexity": "low"
3345
+ },
3346
+ {
3347
+ "name": "OutputJSON",
3348
+ "type": "interface",
3349
+ "line": 77,
3350
+ "complexity": "low"
3351
+ }
3352
+ ],
3353
+ "imports": [],
3354
+ "exports": [
3355
+ "RawEntity",
3356
+ "RawImport",
3357
+ "ParsedFile",
3358
+ "DepNode",
3359
+ "DepEdge",
3360
+ "DepGraph",
3361
+ "AffectedNode",
3362
+ "ImpactReport",
3363
+ "OutputJSON"
3364
+ ]
3365
+ }
3366
+ ]
3367
+ }