depgraph-core 1.0.2 → 1.5.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.
@@ -0,0 +1,4634 @@
1
+ {
2
+ "meta": {
3
+ "version": "1.0.0",
4
+ "timestamp": "2026-09-02T11:18:00.462Z",
5
+ "totalFiles": 29,
6
+ "totalLines": 4533
7
+ },
8
+ "summary": {
9
+ "totalNodes": 79,
10
+ "totalEdges": 263,
11
+ "entryPoints": [
12
+ "GET__users__gitdiff_test",
13
+ "makeId__graph_test",
14
+ "createMockNode__impact_test",
15
+ "createMockNode__metrics_test",
16
+ "activeFunc__parser_test",
17
+ "extractEntities__go",
18
+ "extractImports__go",
19
+ "extractExports__go",
20
+ "estimateComplexity__javascript",
21
+ "slugify__javascript",
22
+ "extractEntities__javascript",
23
+ "extractImports__javascript",
24
+ "extractExports__javascript",
25
+ "escapeRegex__python",
26
+ "estimateComplexity__python",
27
+ "extractEntities__python",
28
+ "stripAlias__python",
29
+ "extractImports__python",
30
+ "extractExports__python",
31
+ "color__main",
32
+ "getFlag__main",
33
+ "printHelp__main",
34
+ "printBanner__main",
35
+ "printSummary__main",
36
+ "printImpact__main",
37
+ "dim__main",
38
+ "bold__main",
39
+ "green__main",
40
+ "yellow__main",
41
+ "red__main",
42
+ "cyan__main",
43
+ "runGitDiff__gitdiff",
44
+ "parseDiff__gitdiff",
45
+ "extractEntityFromContext__gitdiff",
46
+ "buildDescription__gitdiff",
47
+ "ChangedEntity__gitdiff",
48
+ "GitDiffOptions__gitdiff",
49
+ "makeId__graph",
50
+ "resolvePath__graph",
51
+ "getDirectDependents__impact",
52
+ "getImpactLevel__impact",
53
+ "computeRiskScore__impact",
54
+ "getRiskLevel__impact",
55
+ "getReason__impact",
56
+ "getChangeRequired__impact",
57
+ "buildTestingPlan__impact",
58
+ "buildRecommendations__impact",
59
+ "emptyReport__impact"
60
+ ],
61
+ "leafNodes": [
62
+ "collectFiles__collector",
63
+ "RawEntity__types",
64
+ "RawImport__types",
65
+ "ParsedFile__types",
66
+ "DepNode__types",
67
+ "DepEdge__types",
68
+ "DepGraph__types",
69
+ "AffectedNode__types",
70
+ "ImpactReport__types",
71
+ "OutputJSON__types"
72
+ ],
73
+ "isolatedNodes": [
74
+ "color__depgraph",
75
+ "getFlag__depgraph",
76
+ "printHelp__depgraph",
77
+ "printBanner__depgraph",
78
+ "printSummary__depgraph",
79
+ "printImpact__depgraph"
80
+ ],
81
+ "criticalNodes": [
82
+ "registerParser__registry",
83
+ "EntityPattern__registry",
84
+ "LanguageParser__registry",
85
+ "collectFiles__collector",
86
+ "getChangedEntities__gitdiff",
87
+ "buildGraph__graph",
88
+ "simulateImpact__impact",
89
+ "computeMetrics__metrics",
90
+ "getCriticalNodes__metrics",
91
+ "writeOutput__output",
92
+ "parseFiles__parser",
93
+ "RawEntity__types",
94
+ "RawImport__types",
95
+ "DepGraph__types",
96
+ "ImpactReport__types"
97
+ ]
98
+ },
99
+ "nodes": [
100
+ {
101
+ "id": "color__depgraph",
102
+ "name": "color",
103
+ "type": "function",
104
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
105
+ "line": 1063,
106
+ "lang": "js",
107
+ "complexity": "low",
108
+ "inDegree": 0,
109
+ "outDegree": 0,
110
+ "centralityScore": 0,
111
+ "connections": []
112
+ },
113
+ {
114
+ "id": "getFlag__depgraph",
115
+ "name": "getFlag",
116
+ "type": "function",
117
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
118
+ "line": 1074,
119
+ "lang": "js",
120
+ "complexity": "low",
121
+ "inDegree": 0,
122
+ "outDegree": 0,
123
+ "centralityScore": 0,
124
+ "connections": []
125
+ },
126
+ {
127
+ "id": "printHelp__depgraph",
128
+ "name": "printHelp",
129
+ "type": "function",
130
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
131
+ "line": 1078,
132
+ "lang": "js",
133
+ "complexity": "low",
134
+ "inDegree": 0,
135
+ "outDegree": 0,
136
+ "centralityScore": 0,
137
+ "connections": []
138
+ },
139
+ {
140
+ "id": "printBanner__depgraph",
141
+ "name": "printBanner",
142
+ "type": "function",
143
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
144
+ "line": 1126,
145
+ "lang": "js",
146
+ "complexity": "low",
147
+ "inDegree": 0,
148
+ "outDegree": 0,
149
+ "centralityScore": 0,
150
+ "connections": []
151
+ },
152
+ {
153
+ "id": "printSummary__depgraph",
154
+ "name": "printSummary",
155
+ "type": "function",
156
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
157
+ "line": 1133,
158
+ "lang": "js",
159
+ "complexity": "low",
160
+ "inDegree": 0,
161
+ "outDegree": 0,
162
+ "centralityScore": 0,
163
+ "connections": []
164
+ },
165
+ {
166
+ "id": "printImpact__depgraph",
167
+ "name": "printImpact",
168
+ "type": "function",
169
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
170
+ "line": 1146,
171
+ "lang": "js",
172
+ "complexity": "medium",
173
+ "inDegree": 0,
174
+ "outDegree": 0,
175
+ "centralityScore": 0,
176
+ "connections": []
177
+ },
178
+ {
179
+ "id": "GET__users__gitdiff_test",
180
+ "name": "GET /users",
181
+ "type": "api",
182
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/gitdiff.test.ts",
183
+ "line": 181,
184
+ "lang": "js",
185
+ "complexity": "low",
186
+ "inDegree": 0,
187
+ "outDegree": 1,
188
+ "centralityScore": 1,
189
+ "connections": [
190
+ "getChangedEntities__gitdiff"
191
+ ]
192
+ },
193
+ {
194
+ "id": "makeId__graph_test",
195
+ "name": "makeId",
196
+ "type": "function",
197
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/graph.test.ts",
198
+ "line": 5,
199
+ "lang": "js",
200
+ "complexity": "low",
201
+ "inDegree": 0,
202
+ "outDegree": 2,
203
+ "centralityScore": 2,
204
+ "connections": [
205
+ "buildGraph__graph",
206
+ "ParsedFile__types"
207
+ ]
208
+ },
209
+ {
210
+ "id": "createMockNode__impact_test",
211
+ "name": "createMockNode",
212
+ "type": "function",
213
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/impact.test.ts",
214
+ "line": 5,
215
+ "lang": "js",
216
+ "complexity": "low",
217
+ "inDegree": 0,
218
+ "outDegree": 3,
219
+ "centralityScore": 3,
220
+ "connections": [
221
+ "simulateImpact__impact",
222
+ "DepGraph__types",
223
+ "DepNode__types"
224
+ ]
225
+ },
226
+ {
227
+ "id": "createMockNode__metrics_test",
228
+ "name": "createMockNode",
229
+ "type": "function",
230
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/metrics.test.ts",
231
+ "line": 11,
232
+ "lang": "js",
233
+ "complexity": "low",
234
+ "inDegree": 0,
235
+ "outDegree": 7,
236
+ "centralityScore": 7,
237
+ "connections": [
238
+ "computeMetrics__metrics",
239
+ "getEntryPoints__metrics",
240
+ "getLeafNodes__metrics",
241
+ "getIsolatedNodes__metrics",
242
+ "getCriticalNodes__metrics",
243
+ "DepGraph__types",
244
+ "DepNode__types"
245
+ ]
246
+ },
247
+ {
248
+ "id": "activeFunc__parser_test",
249
+ "name": "activeFunc",
250
+ "type": "function",
251
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/parser.test.ts",
252
+ "line": 145,
253
+ "lang": "js",
254
+ "complexity": "low",
255
+ "inDegree": 0,
256
+ "outDegree": 1,
257
+ "centralityScore": 1,
258
+ "connections": [
259
+ "parseFile__parser"
260
+ ]
261
+ },
262
+ {
263
+ "id": "extractEntities__go",
264
+ "name": "extractEntities",
265
+ "type": "function",
266
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/go.ts",
267
+ "line": 26,
268
+ "lang": "js",
269
+ "complexity": "low",
270
+ "inDegree": 0,
271
+ "outDegree": 5,
272
+ "centralityScore": 5,
273
+ "connections": [
274
+ "RawEntity__types",
275
+ "RawImport__types",
276
+ "EntityPattern__registry",
277
+ "LanguageParser__registry",
278
+ "registerParser__registry"
279
+ ]
280
+ },
281
+ {
282
+ "id": "extractImports__go",
283
+ "name": "extractImports",
284
+ "type": "function",
285
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/go.ts",
286
+ "line": 49,
287
+ "lang": "js",
288
+ "complexity": "medium",
289
+ "inDegree": 0,
290
+ "outDegree": 5,
291
+ "centralityScore": 5,
292
+ "connections": [
293
+ "RawEntity__types",
294
+ "RawImport__types",
295
+ "EntityPattern__registry",
296
+ "LanguageParser__registry",
297
+ "registerParser__registry"
298
+ ]
299
+ },
300
+ {
301
+ "id": "extractExports__go",
302
+ "name": "extractExports",
303
+ "type": "function",
304
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/go.ts",
305
+ "line": 76,
306
+ "lang": "js",
307
+ "complexity": "low",
308
+ "inDegree": 0,
309
+ "outDegree": 5,
310
+ "centralityScore": 5,
311
+ "connections": [
312
+ "RawEntity__types",
313
+ "RawImport__types",
314
+ "EntityPattern__registry",
315
+ "LanguageParser__registry",
316
+ "registerParser__registry"
317
+ ]
318
+ },
319
+ {
320
+ "id": "estimateComplexity__javascript",
321
+ "name": "estimateComplexity",
322
+ "type": "function",
323
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
324
+ "line": 14,
325
+ "lang": "js",
326
+ "complexity": "high",
327
+ "inDegree": 0,
328
+ "outDegree": 5,
329
+ "centralityScore": 5,
330
+ "connections": [
331
+ "RawEntity__types",
332
+ "RawImport__types",
333
+ "EntityPattern__registry",
334
+ "LanguageParser__registry",
335
+ "registerParser__registry"
336
+ ]
337
+ },
338
+ {
339
+ "id": "slugify__javascript",
340
+ "name": "slugify",
341
+ "type": "function",
342
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
343
+ "line": 34,
344
+ "lang": "js",
345
+ "complexity": "low",
346
+ "inDegree": 0,
347
+ "outDegree": 5,
348
+ "centralityScore": 5,
349
+ "connections": [
350
+ "RawEntity__types",
351
+ "RawImport__types",
352
+ "EntityPattern__registry",
353
+ "LanguageParser__registry",
354
+ "registerParser__registry"
355
+ ]
356
+ },
357
+ {
358
+ "id": "extractEntities__javascript",
359
+ "name": "extractEntities",
360
+ "type": "function",
361
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
362
+ "line": 97,
363
+ "lang": "js",
364
+ "complexity": "medium",
365
+ "inDegree": 0,
366
+ "outDegree": 5,
367
+ "centralityScore": 5,
368
+ "connections": [
369
+ "RawEntity__types",
370
+ "RawImport__types",
371
+ "EntityPattern__registry",
372
+ "LanguageParser__registry",
373
+ "registerParser__registry"
374
+ ]
375
+ },
376
+ {
377
+ "id": "extractImports__javascript",
378
+ "name": "extractImports",
379
+ "type": "function",
380
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
381
+ "line": 143,
382
+ "lang": "js",
383
+ "complexity": "low",
384
+ "inDegree": 0,
385
+ "outDegree": 5,
386
+ "centralityScore": 5,
387
+ "connections": [
388
+ "RawEntity__types",
389
+ "RawImport__types",
390
+ "EntityPattern__registry",
391
+ "LanguageParser__registry",
392
+ "registerParser__registry"
393
+ ]
394
+ },
395
+ {
396
+ "id": "extractExports__javascript",
397
+ "name": "extractExports",
398
+ "type": "function",
399
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
400
+ "line": 189,
401
+ "lang": "js",
402
+ "complexity": "low",
403
+ "inDegree": 0,
404
+ "outDegree": 5,
405
+ "centralityScore": 5,
406
+ "connections": [
407
+ "RawEntity__types",
408
+ "RawImport__types",
409
+ "EntityPattern__registry",
410
+ "LanguageParser__registry",
411
+ "registerParser__registry"
412
+ ]
413
+ },
414
+ {
415
+ "id": "escapeRegex__python",
416
+ "name": "escapeRegex",
417
+ "type": "function",
418
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
419
+ "line": 7,
420
+ "lang": "js",
421
+ "complexity": "low",
422
+ "inDegree": 0,
423
+ "outDegree": 5,
424
+ "centralityScore": 5,
425
+ "connections": [
426
+ "RawEntity__types",
427
+ "RawImport__types",
428
+ "EntityPattern__registry",
429
+ "LanguageParser__registry",
430
+ "registerParser__registry"
431
+ ]
432
+ },
433
+ {
434
+ "id": "estimateComplexity__python",
435
+ "name": "estimateComplexity",
436
+ "type": "function",
437
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
438
+ "line": 11,
439
+ "lang": "js",
440
+ "complexity": "high",
441
+ "inDegree": 0,
442
+ "outDegree": 5,
443
+ "centralityScore": 5,
444
+ "connections": [
445
+ "RawEntity__types",
446
+ "RawImport__types",
447
+ "EntityPattern__registry",
448
+ "LanguageParser__registry",
449
+ "registerParser__registry"
450
+ ]
451
+ },
452
+ {
453
+ "id": "extractEntities__python",
454
+ "name": "extractEntities",
455
+ "type": "function",
456
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
457
+ "line": 45,
458
+ "lang": "js",
459
+ "complexity": "medium",
460
+ "inDegree": 0,
461
+ "outDegree": 5,
462
+ "centralityScore": 5,
463
+ "connections": [
464
+ "RawEntity__types",
465
+ "RawImport__types",
466
+ "EntityPattern__registry",
467
+ "LanguageParser__registry",
468
+ "registerParser__registry"
469
+ ]
470
+ },
471
+ {
472
+ "id": "stripAlias__python",
473
+ "name": "stripAlias",
474
+ "type": "function",
475
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
476
+ "line": 78,
477
+ "lang": "js",
478
+ "complexity": "low",
479
+ "inDegree": 0,
480
+ "outDegree": 5,
481
+ "centralityScore": 5,
482
+ "connections": [
483
+ "RawEntity__types",
484
+ "RawImport__types",
485
+ "EntityPattern__registry",
486
+ "LanguageParser__registry",
487
+ "registerParser__registry"
488
+ ]
489
+ },
490
+ {
491
+ "id": "extractImports__python",
492
+ "name": "extractImports",
493
+ "type": "function",
494
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
495
+ "line": 88,
496
+ "lang": "js",
497
+ "complexity": "low",
498
+ "inDegree": 0,
499
+ "outDegree": 5,
500
+ "centralityScore": 5,
501
+ "connections": [
502
+ "RawEntity__types",
503
+ "RawImport__types",
504
+ "EntityPattern__registry",
505
+ "LanguageParser__registry",
506
+ "registerParser__registry"
507
+ ]
508
+ },
509
+ {
510
+ "id": "extractExports__python",
511
+ "name": "extractExports",
512
+ "type": "function",
513
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
514
+ "line": 128,
515
+ "lang": "js",
516
+ "complexity": "low",
517
+ "inDegree": 0,
518
+ "outDegree": 5,
519
+ "centralityScore": 5,
520
+ "connections": [
521
+ "RawEntity__types",
522
+ "RawImport__types",
523
+ "EntityPattern__registry",
524
+ "LanguageParser__registry",
525
+ "registerParser__registry"
526
+ ]
527
+ },
528
+ {
529
+ "id": "registerParser__registry",
530
+ "name": "registerParser",
531
+ "type": "function",
532
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/registry.ts",
533
+ "line": 60,
534
+ "lang": "js",
535
+ "complexity": "low",
536
+ "inDegree": 14,
537
+ "outDegree": 2,
538
+ "centralityScore": 30,
539
+ "connections": [
540
+ "extractEntities__go",
541
+ "extractImports__go",
542
+ "extractExports__go",
543
+ "estimateComplexity__javascript",
544
+ "slugify__javascript",
545
+ "extractEntities__javascript",
546
+ "extractImports__javascript",
547
+ "extractExports__javascript",
548
+ "escapeRegex__python",
549
+ "estimateComplexity__python",
550
+ "extractEntities__python",
551
+ "stripAlias__python",
552
+ "extractImports__python",
553
+ "extractExports__python",
554
+ "RawEntity__types",
555
+ "RawImport__types"
556
+ ]
557
+ },
558
+ {
559
+ "id": "getLanguageParser__registry",
560
+ "name": "getLanguageParser",
561
+ "type": "function",
562
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/registry.ts",
563
+ "line": 69,
564
+ "lang": "js",
565
+ "complexity": "low",
566
+ "inDegree": 9,
567
+ "outDegree": 2,
568
+ "centralityScore": 20,
569
+ "connections": [
570
+ "RawEntity__types",
571
+ "RawImport__types",
572
+ "getChangedEntities__gitdiff",
573
+ "runGitDiff__gitdiff",
574
+ "parseDiff__gitdiff",
575
+ "extractEntityFromContext__gitdiff",
576
+ "buildDescription__gitdiff",
577
+ "ChangedEntity__gitdiff",
578
+ "GitDiffOptions__gitdiff",
579
+ "parseFile__parser",
580
+ "parseFiles__parser"
581
+ ]
582
+ },
583
+ {
584
+ "id": "EntityPattern__registry",
585
+ "name": "EntityPattern",
586
+ "type": "interface",
587
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/registry.ts",
588
+ "line": 8,
589
+ "lang": "js",
590
+ "complexity": "low",
591
+ "inDegree": 14,
592
+ "outDegree": 2,
593
+ "centralityScore": 30,
594
+ "connections": [
595
+ "extractEntities__go",
596
+ "extractImports__go",
597
+ "extractExports__go",
598
+ "estimateComplexity__javascript",
599
+ "slugify__javascript",
600
+ "extractEntities__javascript",
601
+ "extractImports__javascript",
602
+ "extractExports__javascript",
603
+ "escapeRegex__python",
604
+ "estimateComplexity__python",
605
+ "extractEntities__python",
606
+ "stripAlias__python",
607
+ "extractImports__python",
608
+ "extractExports__python",
609
+ "RawEntity__types",
610
+ "RawImport__types"
611
+ ]
612
+ },
613
+ {
614
+ "id": "LanguageParser__registry",
615
+ "name": "LanguageParser",
616
+ "type": "interface",
617
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/registry.ts",
618
+ "line": 19,
619
+ "lang": "js",
620
+ "complexity": "low",
621
+ "inDegree": 14,
622
+ "outDegree": 2,
623
+ "centralityScore": 30,
624
+ "connections": [
625
+ "extractEntities__go",
626
+ "extractImports__go",
627
+ "extractExports__go",
628
+ "estimateComplexity__javascript",
629
+ "slugify__javascript",
630
+ "extractEntities__javascript",
631
+ "extractImports__javascript",
632
+ "extractExports__javascript",
633
+ "escapeRegex__python",
634
+ "estimateComplexity__python",
635
+ "extractEntities__python",
636
+ "stripAlias__python",
637
+ "extractImports__python",
638
+ "extractExports__python",
639
+ "RawEntity__types",
640
+ "RawImport__types"
641
+ ]
642
+ },
643
+ {
644
+ "id": "color__main",
645
+ "name": "color",
646
+ "type": "function",
647
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
648
+ "line": 29,
649
+ "lang": "js",
650
+ "complexity": "low",
651
+ "inDegree": 0,
652
+ "outDegree": 8,
653
+ "centralityScore": 8,
654
+ "connections": [
655
+ "collectFiles__collector",
656
+ "parseFiles__parser",
657
+ "buildGraph__graph",
658
+ "computeMetrics__metrics",
659
+ "getCriticalNodes__metrics",
660
+ "simulateImpact__impact",
661
+ "writeOutput__output",
662
+ "getChangedEntities__gitdiff"
663
+ ]
664
+ },
665
+ {
666
+ "id": "getFlag__main",
667
+ "name": "getFlag",
668
+ "type": "function",
669
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
670
+ "line": 49,
671
+ "lang": "js",
672
+ "complexity": "low",
673
+ "inDegree": 0,
674
+ "outDegree": 8,
675
+ "centralityScore": 8,
676
+ "connections": [
677
+ "collectFiles__collector",
678
+ "parseFiles__parser",
679
+ "buildGraph__graph",
680
+ "computeMetrics__metrics",
681
+ "getCriticalNodes__metrics",
682
+ "simulateImpact__impact",
683
+ "writeOutput__output",
684
+ "getChangedEntities__gitdiff"
685
+ ]
686
+ },
687
+ {
688
+ "id": "printHelp__main",
689
+ "name": "printHelp",
690
+ "type": "function",
691
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
692
+ "line": 57,
693
+ "lang": "js",
694
+ "complexity": "low",
695
+ "inDegree": 0,
696
+ "outDegree": 8,
697
+ "centralityScore": 8,
698
+ "connections": [
699
+ "collectFiles__collector",
700
+ "parseFiles__parser",
701
+ "buildGraph__graph",
702
+ "computeMetrics__metrics",
703
+ "getCriticalNodes__metrics",
704
+ "simulateImpact__impact",
705
+ "writeOutput__output",
706
+ "getChangedEntities__gitdiff"
707
+ ]
708
+ },
709
+ {
710
+ "id": "printBanner__main",
711
+ "name": "printBanner",
712
+ "type": "function",
713
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
714
+ "line": 109,
715
+ "lang": "js",
716
+ "complexity": "low",
717
+ "inDegree": 0,
718
+ "outDegree": 8,
719
+ "centralityScore": 8,
720
+ "connections": [
721
+ "collectFiles__collector",
722
+ "parseFiles__parser",
723
+ "buildGraph__graph",
724
+ "computeMetrics__metrics",
725
+ "getCriticalNodes__metrics",
726
+ "simulateImpact__impact",
727
+ "writeOutput__output",
728
+ "getChangedEntities__gitdiff"
729
+ ]
730
+ },
731
+ {
732
+ "id": "printSummary__main",
733
+ "name": "printSummary",
734
+ "type": "function",
735
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
736
+ "line": 125,
737
+ "lang": "js",
738
+ "complexity": "low",
739
+ "inDegree": 0,
740
+ "outDegree": 8,
741
+ "centralityScore": 8,
742
+ "connections": [
743
+ "collectFiles__collector",
744
+ "parseFiles__parser",
745
+ "buildGraph__graph",
746
+ "computeMetrics__metrics",
747
+ "getCriticalNodes__metrics",
748
+ "simulateImpact__impact",
749
+ "writeOutput__output",
750
+ "getChangedEntities__gitdiff"
751
+ ]
752
+ },
753
+ {
754
+ "id": "printImpact__main",
755
+ "name": "printImpact",
756
+ "type": "function",
757
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
758
+ "line": 149,
759
+ "lang": "js",
760
+ "complexity": "medium",
761
+ "inDegree": 0,
762
+ "outDegree": 8,
763
+ "centralityScore": 8,
764
+ "connections": [
765
+ "collectFiles__collector",
766
+ "parseFiles__parser",
767
+ "buildGraph__graph",
768
+ "computeMetrics__metrics",
769
+ "getCriticalNodes__metrics",
770
+ "simulateImpact__impact",
771
+ "writeOutput__output",
772
+ "getChangedEntities__gitdiff"
773
+ ]
774
+ },
775
+ {
776
+ "id": "dim__main",
777
+ "name": "dim",
778
+ "type": "function",
779
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
780
+ "line": 33,
781
+ "lang": "js",
782
+ "complexity": "low",
783
+ "inDegree": 0,
784
+ "outDegree": 8,
785
+ "centralityScore": 8,
786
+ "connections": [
787
+ "collectFiles__collector",
788
+ "parseFiles__parser",
789
+ "buildGraph__graph",
790
+ "computeMetrics__metrics",
791
+ "getCriticalNodes__metrics",
792
+ "simulateImpact__impact",
793
+ "writeOutput__output",
794
+ "getChangedEntities__gitdiff"
795
+ ]
796
+ },
797
+ {
798
+ "id": "bold__main",
799
+ "name": "bold",
800
+ "type": "function",
801
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
802
+ "line": 34,
803
+ "lang": "js",
804
+ "complexity": "low",
805
+ "inDegree": 0,
806
+ "outDegree": 8,
807
+ "centralityScore": 8,
808
+ "connections": [
809
+ "collectFiles__collector",
810
+ "parseFiles__parser",
811
+ "buildGraph__graph",
812
+ "computeMetrics__metrics",
813
+ "getCriticalNodes__metrics",
814
+ "simulateImpact__impact",
815
+ "writeOutput__output",
816
+ "getChangedEntities__gitdiff"
817
+ ]
818
+ },
819
+ {
820
+ "id": "green__main",
821
+ "name": "green",
822
+ "type": "function",
823
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
824
+ "line": 35,
825
+ "lang": "js",
826
+ "complexity": "low",
827
+ "inDegree": 0,
828
+ "outDegree": 8,
829
+ "centralityScore": 8,
830
+ "connections": [
831
+ "collectFiles__collector",
832
+ "parseFiles__parser",
833
+ "buildGraph__graph",
834
+ "computeMetrics__metrics",
835
+ "getCriticalNodes__metrics",
836
+ "simulateImpact__impact",
837
+ "writeOutput__output",
838
+ "getChangedEntities__gitdiff"
839
+ ]
840
+ },
841
+ {
842
+ "id": "yellow__main",
843
+ "name": "yellow",
844
+ "type": "function",
845
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
846
+ "line": 36,
847
+ "lang": "js",
848
+ "complexity": "low",
849
+ "inDegree": 0,
850
+ "outDegree": 8,
851
+ "centralityScore": 8,
852
+ "connections": [
853
+ "collectFiles__collector",
854
+ "parseFiles__parser",
855
+ "buildGraph__graph",
856
+ "computeMetrics__metrics",
857
+ "getCriticalNodes__metrics",
858
+ "simulateImpact__impact",
859
+ "writeOutput__output",
860
+ "getChangedEntities__gitdiff"
861
+ ]
862
+ },
863
+ {
864
+ "id": "red__main",
865
+ "name": "red",
866
+ "type": "function",
867
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
868
+ "line": 37,
869
+ "lang": "js",
870
+ "complexity": "low",
871
+ "inDegree": 0,
872
+ "outDegree": 8,
873
+ "centralityScore": 8,
874
+ "connections": [
875
+ "collectFiles__collector",
876
+ "parseFiles__parser",
877
+ "buildGraph__graph",
878
+ "computeMetrics__metrics",
879
+ "getCriticalNodes__metrics",
880
+ "simulateImpact__impact",
881
+ "writeOutput__output",
882
+ "getChangedEntities__gitdiff"
883
+ ]
884
+ },
885
+ {
886
+ "id": "cyan__main",
887
+ "name": "cyan",
888
+ "type": "function",
889
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
890
+ "line": 38,
891
+ "lang": "js",
892
+ "complexity": "low",
893
+ "inDegree": 0,
894
+ "outDegree": 8,
895
+ "centralityScore": 8,
896
+ "connections": [
897
+ "collectFiles__collector",
898
+ "parseFiles__parser",
899
+ "buildGraph__graph",
900
+ "computeMetrics__metrics",
901
+ "getCriticalNodes__metrics",
902
+ "simulateImpact__impact",
903
+ "writeOutput__output",
904
+ "getChangedEntities__gitdiff"
905
+ ]
906
+ },
907
+ {
908
+ "id": "collectFiles__collector",
909
+ "name": "collectFiles",
910
+ "type": "function",
911
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/collector.ts",
912
+ "line": 13,
913
+ "lang": "js",
914
+ "complexity": "medium",
915
+ "inDegree": 12,
916
+ "outDegree": 0,
917
+ "centralityScore": 24,
918
+ "connections": [
919
+ "color__main",
920
+ "getFlag__main",
921
+ "printHelp__main",
922
+ "printBanner__main",
923
+ "printSummary__main",
924
+ "printImpact__main",
925
+ "dim__main",
926
+ "bold__main",
927
+ "green__main",
928
+ "yellow__main",
929
+ "red__main",
930
+ "cyan__main"
931
+ ]
932
+ },
933
+ {
934
+ "id": "getChangedEntities__gitdiff",
935
+ "name": "getChangedEntities",
936
+ "type": "function",
937
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
938
+ "line": 35,
939
+ "lang": "js",
940
+ "complexity": "low",
941
+ "inDegree": 13,
942
+ "outDegree": 1,
943
+ "centralityScore": 27,
944
+ "connections": [
945
+ "GET__users__gitdiff_test",
946
+ "color__main",
947
+ "getFlag__main",
948
+ "printHelp__main",
949
+ "printBanner__main",
950
+ "printSummary__main",
951
+ "printImpact__main",
952
+ "dim__main",
953
+ "bold__main",
954
+ "green__main",
955
+ "yellow__main",
956
+ "red__main",
957
+ "cyan__main",
958
+ "getLanguageParser__registry"
959
+ ]
960
+ },
961
+ {
962
+ "id": "runGitDiff__gitdiff",
963
+ "name": "runGitDiff",
964
+ "type": "function",
965
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
966
+ "line": 45,
967
+ "lang": "js",
968
+ "complexity": "high",
969
+ "inDegree": 0,
970
+ "outDegree": 1,
971
+ "centralityScore": 1,
972
+ "connections": [
973
+ "getLanguageParser__registry"
974
+ ]
975
+ },
976
+ {
977
+ "id": "parseDiff__gitdiff",
978
+ "name": "parseDiff",
979
+ "type": "function",
980
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
981
+ "line": 87,
982
+ "lang": "js",
983
+ "complexity": "high",
984
+ "inDegree": 0,
985
+ "outDegree": 1,
986
+ "centralityScore": 1,
987
+ "connections": [
988
+ "getLanguageParser__registry"
989
+ ]
990
+ },
991
+ {
992
+ "id": "extractEntityFromContext__gitdiff",
993
+ "name": "extractEntityFromContext",
994
+ "type": "function",
995
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
996
+ "line": 169,
997
+ "lang": "js",
998
+ "complexity": "medium",
999
+ "inDegree": 0,
1000
+ "outDegree": 1,
1001
+ "centralityScore": 1,
1002
+ "connections": [
1003
+ "getLanguageParser__registry"
1004
+ ]
1005
+ },
1006
+ {
1007
+ "id": "buildDescription__gitdiff",
1008
+ "name": "buildDescription",
1009
+ "type": "function",
1010
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
1011
+ "line": 206,
1012
+ "lang": "js",
1013
+ "complexity": "medium",
1014
+ "inDegree": 0,
1015
+ "outDegree": 1,
1016
+ "centralityScore": 1,
1017
+ "connections": [
1018
+ "getLanguageParser__registry"
1019
+ ]
1020
+ },
1021
+ {
1022
+ "id": "ChangedEntity__gitdiff",
1023
+ "name": "ChangedEntity",
1024
+ "type": "interface",
1025
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
1026
+ "line": 7,
1027
+ "lang": "js",
1028
+ "complexity": "low",
1029
+ "inDegree": 0,
1030
+ "outDegree": 1,
1031
+ "centralityScore": 1,
1032
+ "connections": [
1033
+ "getLanguageParser__registry"
1034
+ ]
1035
+ },
1036
+ {
1037
+ "id": "GitDiffOptions__gitdiff",
1038
+ "name": "GitDiffOptions",
1039
+ "type": "interface",
1040
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
1041
+ "line": 14,
1042
+ "lang": "js",
1043
+ "complexity": "low",
1044
+ "inDegree": 0,
1045
+ "outDegree": 1,
1046
+ "centralityScore": 1,
1047
+ "connections": [
1048
+ "getLanguageParser__registry"
1049
+ ]
1050
+ },
1051
+ {
1052
+ "id": "buildGraph__graph",
1053
+ "name": "buildGraph",
1054
+ "type": "function",
1055
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/graph.ts",
1056
+ "line": 11,
1057
+ "lang": "js",
1058
+ "complexity": "high",
1059
+ "inDegree": 13,
1060
+ "outDegree": 4,
1061
+ "centralityScore": 30,
1062
+ "connections": [
1063
+ "makeId__graph_test",
1064
+ "color__main",
1065
+ "getFlag__main",
1066
+ "printHelp__main",
1067
+ "printBanner__main",
1068
+ "printSummary__main",
1069
+ "printImpact__main",
1070
+ "dim__main",
1071
+ "bold__main",
1072
+ "green__main",
1073
+ "yellow__main",
1074
+ "red__main",
1075
+ "cyan__main",
1076
+ "ParsedFile__types",
1077
+ "DepGraph__types",
1078
+ "DepNode__types",
1079
+ "DepEdge__types"
1080
+ ]
1081
+ },
1082
+ {
1083
+ "id": "makeId__graph",
1084
+ "name": "makeId",
1085
+ "type": "function",
1086
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/graph.ts",
1087
+ "line": 124,
1088
+ "lang": "js",
1089
+ "complexity": "low",
1090
+ "inDegree": 0,
1091
+ "outDegree": 4,
1092
+ "centralityScore": 4,
1093
+ "connections": [
1094
+ "ParsedFile__types",
1095
+ "DepGraph__types",
1096
+ "DepNode__types",
1097
+ "DepEdge__types"
1098
+ ]
1099
+ },
1100
+ {
1101
+ "id": "resolvePath__graph",
1102
+ "name": "resolvePath",
1103
+ "type": "function",
1104
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/graph.ts",
1105
+ "line": 139,
1106
+ "lang": "js",
1107
+ "complexity": "low",
1108
+ "inDegree": 0,
1109
+ "outDegree": 4,
1110
+ "centralityScore": 4,
1111
+ "connections": [
1112
+ "ParsedFile__types",
1113
+ "DepGraph__types",
1114
+ "DepNode__types",
1115
+ "DepEdge__types"
1116
+ ]
1117
+ },
1118
+ {
1119
+ "id": "simulateImpact__impact",
1120
+ "name": "simulateImpact",
1121
+ "type": "function",
1122
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1123
+ "line": 14,
1124
+ "lang": "js",
1125
+ "complexity": "medium",
1126
+ "inDegree": 13,
1127
+ "outDegree": 3,
1128
+ "centralityScore": 29,
1129
+ "connections": [
1130
+ "createMockNode__impact_test",
1131
+ "color__main",
1132
+ "getFlag__main",
1133
+ "printHelp__main",
1134
+ "printBanner__main",
1135
+ "printSummary__main",
1136
+ "printImpact__main",
1137
+ "dim__main",
1138
+ "bold__main",
1139
+ "green__main",
1140
+ "yellow__main",
1141
+ "red__main",
1142
+ "cyan__main",
1143
+ "DepGraph__types",
1144
+ "AffectedNode__types",
1145
+ "ImpactReport__types"
1146
+ ]
1147
+ },
1148
+ {
1149
+ "id": "getDirectDependents__impact",
1150
+ "name": "getDirectDependents",
1151
+ "type": "function",
1152
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1153
+ "line": 110,
1154
+ "lang": "js",
1155
+ "complexity": "low",
1156
+ "inDegree": 0,
1157
+ "outDegree": 3,
1158
+ "centralityScore": 3,
1159
+ "connections": [
1160
+ "DepGraph__types",
1161
+ "AffectedNode__types",
1162
+ "ImpactReport__types"
1163
+ ]
1164
+ },
1165
+ {
1166
+ "id": "getImpactLevel__impact",
1167
+ "name": "getImpactLevel",
1168
+ "type": "function",
1169
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1170
+ "line": 123,
1171
+ "lang": "js",
1172
+ "complexity": "low",
1173
+ "inDegree": 0,
1174
+ "outDegree": 3,
1175
+ "centralityScore": 3,
1176
+ "connections": [
1177
+ "DepGraph__types",
1178
+ "AffectedNode__types",
1179
+ "ImpactReport__types"
1180
+ ]
1181
+ },
1182
+ {
1183
+ "id": "computeRiskScore__impact",
1184
+ "name": "computeRiskScore",
1185
+ "type": "function",
1186
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1187
+ "line": 138,
1188
+ "lang": "js",
1189
+ "complexity": "low",
1190
+ "inDegree": 0,
1191
+ "outDegree": 3,
1192
+ "centralityScore": 3,
1193
+ "connections": [
1194
+ "DepGraph__types",
1195
+ "AffectedNode__types",
1196
+ "ImpactReport__types"
1197
+ ]
1198
+ },
1199
+ {
1200
+ "id": "getRiskLevel__impact",
1201
+ "name": "getRiskLevel",
1202
+ "type": "function",
1203
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1204
+ "line": 155,
1205
+ "lang": "js",
1206
+ "complexity": "low",
1207
+ "inDegree": 0,
1208
+ "outDegree": 3,
1209
+ "centralityScore": 3,
1210
+ "connections": [
1211
+ "DepGraph__types",
1212
+ "AffectedNode__types",
1213
+ "ImpactReport__types"
1214
+ ]
1215
+ },
1216
+ {
1217
+ "id": "getReason__impact",
1218
+ "name": "getReason",
1219
+ "type": "function",
1220
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1221
+ "line": 170,
1222
+ "lang": "js",
1223
+ "complexity": "low",
1224
+ "inDegree": 0,
1225
+ "outDegree": 3,
1226
+ "centralityScore": 3,
1227
+ "connections": [
1228
+ "DepGraph__types",
1229
+ "AffectedNode__types",
1230
+ "ImpactReport__types"
1231
+ ]
1232
+ },
1233
+ {
1234
+ "id": "getChangeRequired__impact",
1235
+ "name": "getChangeRequired",
1236
+ "type": "function",
1237
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1238
+ "line": 184,
1239
+ "lang": "js",
1240
+ "complexity": "medium",
1241
+ "inDegree": 0,
1242
+ "outDegree": 3,
1243
+ "centralityScore": 3,
1244
+ "connections": [
1245
+ "DepGraph__types",
1246
+ "AffectedNode__types",
1247
+ "ImpactReport__types"
1248
+ ]
1249
+ },
1250
+ {
1251
+ "id": "buildTestingPlan__impact",
1252
+ "name": "buildTestingPlan",
1253
+ "type": "function",
1254
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1255
+ "line": 198,
1256
+ "lang": "js",
1257
+ "complexity": "low",
1258
+ "inDegree": 0,
1259
+ "outDegree": 3,
1260
+ "centralityScore": 3,
1261
+ "connections": [
1262
+ "DepGraph__types",
1263
+ "AffectedNode__types",
1264
+ "ImpactReport__types"
1265
+ ]
1266
+ },
1267
+ {
1268
+ "id": "buildRecommendations__impact",
1269
+ "name": "buildRecommendations",
1270
+ "type": "function",
1271
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1272
+ "line": 227,
1273
+ "lang": "js",
1274
+ "complexity": "medium",
1275
+ "inDegree": 0,
1276
+ "outDegree": 3,
1277
+ "centralityScore": 3,
1278
+ "connections": [
1279
+ "DepGraph__types",
1280
+ "AffectedNode__types",
1281
+ "ImpactReport__types"
1282
+ ]
1283
+ },
1284
+ {
1285
+ "id": "emptyReport__impact",
1286
+ "name": "emptyReport",
1287
+ "type": "function",
1288
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
1289
+ "line": 261,
1290
+ "lang": "js",
1291
+ "complexity": "low",
1292
+ "inDegree": 0,
1293
+ "outDegree": 3,
1294
+ "centralityScore": 3,
1295
+ "connections": [
1296
+ "DepGraph__types",
1297
+ "AffectedNode__types",
1298
+ "ImpactReport__types"
1299
+ ]
1300
+ },
1301
+ {
1302
+ "id": "computeMetrics__metrics",
1303
+ "name": "computeMetrics",
1304
+ "type": "function",
1305
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
1306
+ "line": 10,
1307
+ "lang": "js",
1308
+ "complexity": "medium",
1309
+ "inDegree": 13,
1310
+ "outDegree": 2,
1311
+ "centralityScore": 28,
1312
+ "connections": [
1313
+ "createMockNode__metrics_test",
1314
+ "color__main",
1315
+ "getFlag__main",
1316
+ "printHelp__main",
1317
+ "printBanner__main",
1318
+ "printSummary__main",
1319
+ "printImpact__main",
1320
+ "dim__main",
1321
+ "bold__main",
1322
+ "green__main",
1323
+ "yellow__main",
1324
+ "red__main",
1325
+ "cyan__main",
1326
+ "DepGraph__types",
1327
+ "DepNode__types"
1328
+ ]
1329
+ },
1330
+ {
1331
+ "id": "getEntryPoints__metrics",
1332
+ "name": "getEntryPoints",
1333
+ "type": "function",
1334
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
1335
+ "line": 43,
1336
+ "lang": "js",
1337
+ "complexity": "low",
1338
+ "inDegree": 2,
1339
+ "outDegree": 2,
1340
+ "centralityScore": 6,
1341
+ "connections": [
1342
+ "createMockNode__metrics_test",
1343
+ "DepGraph__types",
1344
+ "DepNode__types",
1345
+ "writeOutput__output"
1346
+ ]
1347
+ },
1348
+ {
1349
+ "id": "getLeafNodes__metrics",
1350
+ "name": "getLeafNodes",
1351
+ "type": "function",
1352
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
1353
+ "line": 58,
1354
+ "lang": "js",
1355
+ "complexity": "low",
1356
+ "inDegree": 2,
1357
+ "outDegree": 2,
1358
+ "centralityScore": 6,
1359
+ "connections": [
1360
+ "createMockNode__metrics_test",
1361
+ "DepGraph__types",
1362
+ "DepNode__types",
1363
+ "writeOutput__output"
1364
+ ]
1365
+ },
1366
+ {
1367
+ "id": "getIsolatedNodes__metrics",
1368
+ "name": "getIsolatedNodes",
1369
+ "type": "function",
1370
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
1371
+ "line": 73,
1372
+ "lang": "js",
1373
+ "complexity": "low",
1374
+ "inDegree": 2,
1375
+ "outDegree": 2,
1376
+ "centralityScore": 6,
1377
+ "connections": [
1378
+ "createMockNode__metrics_test",
1379
+ "DepGraph__types",
1380
+ "DepNode__types",
1381
+ "writeOutput__output"
1382
+ ]
1383
+ },
1384
+ {
1385
+ "id": "getCriticalNodes__metrics",
1386
+ "name": "getCriticalNodes",
1387
+ "type": "function",
1388
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
1389
+ "line": 88,
1390
+ "lang": "js",
1391
+ "complexity": "low",
1392
+ "inDegree": 14,
1393
+ "outDegree": 2,
1394
+ "centralityScore": 30,
1395
+ "connections": [
1396
+ "createMockNode__metrics_test",
1397
+ "color__main",
1398
+ "getFlag__main",
1399
+ "printHelp__main",
1400
+ "printBanner__main",
1401
+ "printSummary__main",
1402
+ "printImpact__main",
1403
+ "dim__main",
1404
+ "bold__main",
1405
+ "green__main",
1406
+ "yellow__main",
1407
+ "red__main",
1408
+ "cyan__main",
1409
+ "DepGraph__types",
1410
+ "DepNode__types",
1411
+ "writeOutput__output"
1412
+ ]
1413
+ },
1414
+ {
1415
+ "id": "writeOutput__output",
1416
+ "name": "writeOutput",
1417
+ "type": "function",
1418
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/output.ts",
1419
+ "line": 21,
1420
+ "lang": "js",
1421
+ "complexity": "low",
1422
+ "inDegree": 12,
1423
+ "outDegree": 8,
1424
+ "centralityScore": 32,
1425
+ "connections": [
1426
+ "color__main",
1427
+ "getFlag__main",
1428
+ "printHelp__main",
1429
+ "printBanner__main",
1430
+ "printSummary__main",
1431
+ "printImpact__main",
1432
+ "dim__main",
1433
+ "bold__main",
1434
+ "green__main",
1435
+ "yellow__main",
1436
+ "red__main",
1437
+ "cyan__main",
1438
+ "DepGraph__types",
1439
+ "ParsedFile__types",
1440
+ "ImpactReport__types",
1441
+ "OutputJSON__types",
1442
+ "getEntryPoints__metrics",
1443
+ "getLeafNodes__metrics",
1444
+ "getIsolatedNodes__metrics",
1445
+ "getCriticalNodes__metrics"
1446
+ ]
1447
+ },
1448
+ {
1449
+ "id": "parseFile__parser",
1450
+ "name": "parseFile",
1451
+ "type": "function",
1452
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/parser.ts",
1453
+ "line": 13,
1454
+ "lang": "js",
1455
+ "complexity": "low",
1456
+ "inDegree": 1,
1457
+ "outDegree": 4,
1458
+ "centralityScore": 6,
1459
+ "connections": [
1460
+ "activeFunc__parser_test",
1461
+ "ParsedFile__types",
1462
+ "RawEntity__types",
1463
+ "RawImport__types",
1464
+ "getLanguageParser__registry"
1465
+ ]
1466
+ },
1467
+ {
1468
+ "id": "parseFiles__parser",
1469
+ "name": "parseFiles",
1470
+ "type": "function",
1471
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/parser.ts",
1472
+ "line": 55,
1473
+ "lang": "js",
1474
+ "complexity": "low",
1475
+ "inDegree": 12,
1476
+ "outDegree": 4,
1477
+ "centralityScore": 28,
1478
+ "connections": [
1479
+ "color__main",
1480
+ "getFlag__main",
1481
+ "printHelp__main",
1482
+ "printBanner__main",
1483
+ "printSummary__main",
1484
+ "printImpact__main",
1485
+ "dim__main",
1486
+ "bold__main",
1487
+ "green__main",
1488
+ "yellow__main",
1489
+ "red__main",
1490
+ "cyan__main",
1491
+ "ParsedFile__types",
1492
+ "RawEntity__types",
1493
+ "RawImport__types",
1494
+ "getLanguageParser__registry"
1495
+ ]
1496
+ },
1497
+ {
1498
+ "id": "RawEntity__types",
1499
+ "name": "RawEntity",
1500
+ "type": "interface",
1501
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1502
+ "line": 8,
1503
+ "lang": "js",
1504
+ "complexity": "low",
1505
+ "inDegree": 20,
1506
+ "outDegree": 0,
1507
+ "centralityScore": 40,
1508
+ "connections": [
1509
+ "extractEntities__go",
1510
+ "extractImports__go",
1511
+ "extractExports__go",
1512
+ "estimateComplexity__javascript",
1513
+ "slugify__javascript",
1514
+ "extractEntities__javascript",
1515
+ "extractImports__javascript",
1516
+ "extractExports__javascript",
1517
+ "escapeRegex__python",
1518
+ "estimateComplexity__python",
1519
+ "extractEntities__python",
1520
+ "stripAlias__python",
1521
+ "extractImports__python",
1522
+ "extractExports__python",
1523
+ "registerParser__registry",
1524
+ "getLanguageParser__registry",
1525
+ "EntityPattern__registry",
1526
+ "LanguageParser__registry",
1527
+ "parseFile__parser",
1528
+ "parseFiles__parser"
1529
+ ]
1530
+ },
1531
+ {
1532
+ "id": "RawImport__types",
1533
+ "name": "RawImport",
1534
+ "type": "interface",
1535
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1536
+ "line": 22,
1537
+ "lang": "js",
1538
+ "complexity": "low",
1539
+ "inDegree": 20,
1540
+ "outDegree": 0,
1541
+ "centralityScore": 40,
1542
+ "connections": [
1543
+ "extractEntities__go",
1544
+ "extractImports__go",
1545
+ "extractExports__go",
1546
+ "estimateComplexity__javascript",
1547
+ "slugify__javascript",
1548
+ "extractEntities__javascript",
1549
+ "extractImports__javascript",
1550
+ "extractExports__javascript",
1551
+ "escapeRegex__python",
1552
+ "estimateComplexity__python",
1553
+ "extractEntities__python",
1554
+ "stripAlias__python",
1555
+ "extractImports__python",
1556
+ "extractExports__python",
1557
+ "registerParser__registry",
1558
+ "getLanguageParser__registry",
1559
+ "EntityPattern__registry",
1560
+ "LanguageParser__registry",
1561
+ "parseFile__parser",
1562
+ "parseFiles__parser"
1563
+ ]
1564
+ },
1565
+ {
1566
+ "id": "ParsedFile__types",
1567
+ "name": "ParsedFile",
1568
+ "type": "interface",
1569
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1570
+ "line": 34,
1571
+ "lang": "js",
1572
+ "complexity": "low",
1573
+ "inDegree": 7,
1574
+ "outDegree": 0,
1575
+ "centralityScore": 14,
1576
+ "connections": [
1577
+ "makeId__graph_test",
1578
+ "buildGraph__graph",
1579
+ "makeId__graph",
1580
+ "resolvePath__graph",
1581
+ "writeOutput__output",
1582
+ "parseFile__parser",
1583
+ "parseFiles__parser"
1584
+ ]
1585
+ },
1586
+ {
1587
+ "id": "DepNode__types",
1588
+ "name": "DepNode",
1589
+ "type": "interface",
1590
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1591
+ "line": 52,
1592
+ "lang": "js",
1593
+ "complexity": "low",
1594
+ "inDegree": 10,
1595
+ "outDegree": 0,
1596
+ "centralityScore": 20,
1597
+ "connections": [
1598
+ "createMockNode__impact_test",
1599
+ "createMockNode__metrics_test",
1600
+ "buildGraph__graph",
1601
+ "makeId__graph",
1602
+ "resolvePath__graph",
1603
+ "computeMetrics__metrics",
1604
+ "getEntryPoints__metrics",
1605
+ "getLeafNodes__metrics",
1606
+ "getIsolatedNodes__metrics",
1607
+ "getCriticalNodes__metrics"
1608
+ ]
1609
+ },
1610
+ {
1611
+ "id": "DepEdge__types",
1612
+ "name": "DepEdge",
1613
+ "type": "interface",
1614
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1615
+ "line": 86,
1616
+ "lang": "js",
1617
+ "complexity": "low",
1618
+ "inDegree": 3,
1619
+ "outDegree": 0,
1620
+ "centralityScore": 6,
1621
+ "connections": [
1622
+ "buildGraph__graph",
1623
+ "makeId__graph",
1624
+ "resolvePath__graph"
1625
+ ]
1626
+ },
1627
+ {
1628
+ "id": "DepGraph__types",
1629
+ "name": "DepGraph",
1630
+ "type": "interface",
1631
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1632
+ "line": 100,
1633
+ "lang": "js",
1634
+ "complexity": "low",
1635
+ "inDegree": 21,
1636
+ "outDegree": 0,
1637
+ "centralityScore": 42,
1638
+ "connections": [
1639
+ "createMockNode__impact_test",
1640
+ "createMockNode__metrics_test",
1641
+ "buildGraph__graph",
1642
+ "makeId__graph",
1643
+ "resolvePath__graph",
1644
+ "simulateImpact__impact",
1645
+ "getDirectDependents__impact",
1646
+ "getImpactLevel__impact",
1647
+ "computeRiskScore__impact",
1648
+ "getRiskLevel__impact",
1649
+ "getReason__impact",
1650
+ "getChangeRequired__impact",
1651
+ "buildTestingPlan__impact",
1652
+ "buildRecommendations__impact",
1653
+ "emptyReport__impact",
1654
+ "computeMetrics__metrics",
1655
+ "getEntryPoints__metrics",
1656
+ "getLeafNodes__metrics",
1657
+ "getIsolatedNodes__metrics",
1658
+ "getCriticalNodes__metrics",
1659
+ "writeOutput__output"
1660
+ ]
1661
+ },
1662
+ {
1663
+ "id": "AffectedNode__types",
1664
+ "name": "AffectedNode",
1665
+ "type": "interface",
1666
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1667
+ "line": 110,
1668
+ "lang": "js",
1669
+ "complexity": "low",
1670
+ "inDegree": 10,
1671
+ "outDegree": 0,
1672
+ "centralityScore": 20,
1673
+ "connections": [
1674
+ "simulateImpact__impact",
1675
+ "getDirectDependents__impact",
1676
+ "getImpactLevel__impact",
1677
+ "computeRiskScore__impact",
1678
+ "getRiskLevel__impact",
1679
+ "getReason__impact",
1680
+ "getChangeRequired__impact",
1681
+ "buildTestingPlan__impact",
1682
+ "buildRecommendations__impact",
1683
+ "emptyReport__impact"
1684
+ ]
1685
+ },
1686
+ {
1687
+ "id": "ImpactReport__types",
1688
+ "name": "ImpactReport",
1689
+ "type": "interface",
1690
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1691
+ "line": 132,
1692
+ "lang": "js",
1693
+ "complexity": "low",
1694
+ "inDegree": 11,
1695
+ "outDegree": 0,
1696
+ "centralityScore": 22,
1697
+ "connections": [
1698
+ "simulateImpact__impact",
1699
+ "getDirectDependents__impact",
1700
+ "getImpactLevel__impact",
1701
+ "computeRiskScore__impact",
1702
+ "getRiskLevel__impact",
1703
+ "getReason__impact",
1704
+ "getChangeRequired__impact",
1705
+ "buildTestingPlan__impact",
1706
+ "buildRecommendations__impact",
1707
+ "emptyReport__impact",
1708
+ "writeOutput__output"
1709
+ ]
1710
+ },
1711
+ {
1712
+ "id": "OutputJSON__types",
1713
+ "name": "OutputJSON",
1714
+ "type": "interface",
1715
+ "file": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
1716
+ "line": 154,
1717
+ "lang": "js",
1718
+ "complexity": "low",
1719
+ "inDegree": 1,
1720
+ "outDegree": 0,
1721
+ "centralityScore": 2,
1722
+ "connections": [
1723
+ "writeOutput__output"
1724
+ ]
1725
+ }
1726
+ ],
1727
+ "edges": [
1728
+ {
1729
+ "from": "GET__users__gitdiff_test",
1730
+ "to": "getChangedEntities__gitdiff",
1731
+ "type": "imports",
1732
+ "description": "GET /users imports getChangedEntities from gitdiff.ts"
1733
+ },
1734
+ {
1735
+ "from": "makeId__graph_test",
1736
+ "to": "buildGraph__graph",
1737
+ "type": "imports",
1738
+ "description": "makeId imports buildGraph from graph.ts"
1739
+ },
1740
+ {
1741
+ "from": "makeId__graph_test",
1742
+ "to": "ParsedFile__types",
1743
+ "type": "imports",
1744
+ "description": "makeId imports ParsedFile from types.ts"
1745
+ },
1746
+ {
1747
+ "from": "createMockNode__impact_test",
1748
+ "to": "simulateImpact__impact",
1749
+ "type": "imports",
1750
+ "description": "createMockNode imports simulateImpact from impact.ts"
1751
+ },
1752
+ {
1753
+ "from": "createMockNode__impact_test",
1754
+ "to": "DepGraph__types",
1755
+ "type": "imports",
1756
+ "description": "createMockNode imports DepGraph from types.ts"
1757
+ },
1758
+ {
1759
+ "from": "createMockNode__impact_test",
1760
+ "to": "DepNode__types",
1761
+ "type": "imports",
1762
+ "description": "createMockNode imports DepNode from types.ts"
1763
+ },
1764
+ {
1765
+ "from": "createMockNode__metrics_test",
1766
+ "to": "computeMetrics__metrics",
1767
+ "type": "imports",
1768
+ "description": "createMockNode imports computeMetrics from metrics.ts"
1769
+ },
1770
+ {
1771
+ "from": "createMockNode__metrics_test",
1772
+ "to": "getEntryPoints__metrics",
1773
+ "type": "imports",
1774
+ "description": "createMockNode imports getEntryPoints from metrics.ts"
1775
+ },
1776
+ {
1777
+ "from": "createMockNode__metrics_test",
1778
+ "to": "getLeafNodes__metrics",
1779
+ "type": "imports",
1780
+ "description": "createMockNode imports getLeafNodes from metrics.ts"
1781
+ },
1782
+ {
1783
+ "from": "createMockNode__metrics_test",
1784
+ "to": "getIsolatedNodes__metrics",
1785
+ "type": "imports",
1786
+ "description": "createMockNode imports getIsolatedNodes from metrics.ts"
1787
+ },
1788
+ {
1789
+ "from": "createMockNode__metrics_test",
1790
+ "to": "getCriticalNodes__metrics",
1791
+ "type": "imports",
1792
+ "description": "createMockNode imports getCriticalNodes from metrics.ts"
1793
+ },
1794
+ {
1795
+ "from": "createMockNode__metrics_test",
1796
+ "to": "DepGraph__types",
1797
+ "type": "imports",
1798
+ "description": "createMockNode imports DepGraph from types.ts"
1799
+ },
1800
+ {
1801
+ "from": "createMockNode__metrics_test",
1802
+ "to": "DepNode__types",
1803
+ "type": "imports",
1804
+ "description": "createMockNode imports DepNode from types.ts"
1805
+ },
1806
+ {
1807
+ "from": "activeFunc__parser_test",
1808
+ "to": "parseFile__parser",
1809
+ "type": "imports",
1810
+ "description": "activeFunc imports parseFile from parser.ts"
1811
+ },
1812
+ {
1813
+ "from": "extractEntities__go",
1814
+ "to": "RawEntity__types",
1815
+ "type": "imports",
1816
+ "description": "extractEntities imports RawEntity from types.ts"
1817
+ },
1818
+ {
1819
+ "from": "extractImports__go",
1820
+ "to": "RawEntity__types",
1821
+ "type": "imports",
1822
+ "description": "extractImports imports RawEntity from types.ts"
1823
+ },
1824
+ {
1825
+ "from": "extractExports__go",
1826
+ "to": "RawEntity__types",
1827
+ "type": "imports",
1828
+ "description": "extractExports imports RawEntity from types.ts"
1829
+ },
1830
+ {
1831
+ "from": "extractEntities__go",
1832
+ "to": "RawImport__types",
1833
+ "type": "imports",
1834
+ "description": "extractEntities imports RawImport from types.ts"
1835
+ },
1836
+ {
1837
+ "from": "extractImports__go",
1838
+ "to": "RawImport__types",
1839
+ "type": "imports",
1840
+ "description": "extractImports imports RawImport from types.ts"
1841
+ },
1842
+ {
1843
+ "from": "extractExports__go",
1844
+ "to": "RawImport__types",
1845
+ "type": "imports",
1846
+ "description": "extractExports imports RawImport from types.ts"
1847
+ },
1848
+ {
1849
+ "from": "extractEntities__go",
1850
+ "to": "EntityPattern__registry",
1851
+ "type": "imports",
1852
+ "description": "extractEntities imports EntityPattern from registry.ts"
1853
+ },
1854
+ {
1855
+ "from": "extractImports__go",
1856
+ "to": "EntityPattern__registry",
1857
+ "type": "imports",
1858
+ "description": "extractImports imports EntityPattern from registry.ts"
1859
+ },
1860
+ {
1861
+ "from": "extractExports__go",
1862
+ "to": "EntityPattern__registry",
1863
+ "type": "imports",
1864
+ "description": "extractExports imports EntityPattern from registry.ts"
1865
+ },
1866
+ {
1867
+ "from": "extractEntities__go",
1868
+ "to": "LanguageParser__registry",
1869
+ "type": "imports",
1870
+ "description": "extractEntities imports LanguageParser from registry.ts"
1871
+ },
1872
+ {
1873
+ "from": "extractImports__go",
1874
+ "to": "LanguageParser__registry",
1875
+ "type": "imports",
1876
+ "description": "extractImports imports LanguageParser from registry.ts"
1877
+ },
1878
+ {
1879
+ "from": "extractExports__go",
1880
+ "to": "LanguageParser__registry",
1881
+ "type": "imports",
1882
+ "description": "extractExports imports LanguageParser from registry.ts"
1883
+ },
1884
+ {
1885
+ "from": "extractEntities__go",
1886
+ "to": "registerParser__registry",
1887
+ "type": "imports",
1888
+ "description": "extractEntities imports registerParser from registry.ts"
1889
+ },
1890
+ {
1891
+ "from": "extractImports__go",
1892
+ "to": "registerParser__registry",
1893
+ "type": "imports",
1894
+ "description": "extractImports imports registerParser from registry.ts"
1895
+ },
1896
+ {
1897
+ "from": "extractExports__go",
1898
+ "to": "registerParser__registry",
1899
+ "type": "imports",
1900
+ "description": "extractExports imports registerParser from registry.ts"
1901
+ },
1902
+ {
1903
+ "from": "estimateComplexity__javascript",
1904
+ "to": "RawEntity__types",
1905
+ "type": "imports",
1906
+ "description": "estimateComplexity imports RawEntity from types.ts"
1907
+ },
1908
+ {
1909
+ "from": "slugify__javascript",
1910
+ "to": "RawEntity__types",
1911
+ "type": "imports",
1912
+ "description": "slugify imports RawEntity from types.ts"
1913
+ },
1914
+ {
1915
+ "from": "extractEntities__javascript",
1916
+ "to": "RawEntity__types",
1917
+ "type": "imports",
1918
+ "description": "extractEntities imports RawEntity from types.ts"
1919
+ },
1920
+ {
1921
+ "from": "extractImports__javascript",
1922
+ "to": "RawEntity__types",
1923
+ "type": "imports",
1924
+ "description": "extractImports imports RawEntity from types.ts"
1925
+ },
1926
+ {
1927
+ "from": "extractExports__javascript",
1928
+ "to": "RawEntity__types",
1929
+ "type": "imports",
1930
+ "description": "extractExports imports RawEntity from types.ts"
1931
+ },
1932
+ {
1933
+ "from": "estimateComplexity__javascript",
1934
+ "to": "RawImport__types",
1935
+ "type": "imports",
1936
+ "description": "estimateComplexity imports RawImport from types.ts"
1937
+ },
1938
+ {
1939
+ "from": "slugify__javascript",
1940
+ "to": "RawImport__types",
1941
+ "type": "imports",
1942
+ "description": "slugify imports RawImport from types.ts"
1943
+ },
1944
+ {
1945
+ "from": "extractEntities__javascript",
1946
+ "to": "RawImport__types",
1947
+ "type": "imports",
1948
+ "description": "extractEntities imports RawImport from types.ts"
1949
+ },
1950
+ {
1951
+ "from": "extractImports__javascript",
1952
+ "to": "RawImport__types",
1953
+ "type": "imports",
1954
+ "description": "extractImports imports RawImport from types.ts"
1955
+ },
1956
+ {
1957
+ "from": "extractExports__javascript",
1958
+ "to": "RawImport__types",
1959
+ "type": "imports",
1960
+ "description": "extractExports imports RawImport from types.ts"
1961
+ },
1962
+ {
1963
+ "from": "estimateComplexity__javascript",
1964
+ "to": "EntityPattern__registry",
1965
+ "type": "imports",
1966
+ "description": "estimateComplexity imports EntityPattern from registry.ts"
1967
+ },
1968
+ {
1969
+ "from": "slugify__javascript",
1970
+ "to": "EntityPattern__registry",
1971
+ "type": "imports",
1972
+ "description": "slugify imports EntityPattern from registry.ts"
1973
+ },
1974
+ {
1975
+ "from": "extractEntities__javascript",
1976
+ "to": "EntityPattern__registry",
1977
+ "type": "imports",
1978
+ "description": "extractEntities imports EntityPattern from registry.ts"
1979
+ },
1980
+ {
1981
+ "from": "extractImports__javascript",
1982
+ "to": "EntityPattern__registry",
1983
+ "type": "imports",
1984
+ "description": "extractImports imports EntityPattern from registry.ts"
1985
+ },
1986
+ {
1987
+ "from": "extractExports__javascript",
1988
+ "to": "EntityPattern__registry",
1989
+ "type": "imports",
1990
+ "description": "extractExports imports EntityPattern from registry.ts"
1991
+ },
1992
+ {
1993
+ "from": "estimateComplexity__javascript",
1994
+ "to": "LanguageParser__registry",
1995
+ "type": "imports",
1996
+ "description": "estimateComplexity imports LanguageParser from registry.ts"
1997
+ },
1998
+ {
1999
+ "from": "slugify__javascript",
2000
+ "to": "LanguageParser__registry",
2001
+ "type": "imports",
2002
+ "description": "slugify imports LanguageParser from registry.ts"
2003
+ },
2004
+ {
2005
+ "from": "extractEntities__javascript",
2006
+ "to": "LanguageParser__registry",
2007
+ "type": "imports",
2008
+ "description": "extractEntities imports LanguageParser from registry.ts"
2009
+ },
2010
+ {
2011
+ "from": "extractImports__javascript",
2012
+ "to": "LanguageParser__registry",
2013
+ "type": "imports",
2014
+ "description": "extractImports imports LanguageParser from registry.ts"
2015
+ },
2016
+ {
2017
+ "from": "extractExports__javascript",
2018
+ "to": "LanguageParser__registry",
2019
+ "type": "imports",
2020
+ "description": "extractExports imports LanguageParser from registry.ts"
2021
+ },
2022
+ {
2023
+ "from": "estimateComplexity__javascript",
2024
+ "to": "registerParser__registry",
2025
+ "type": "imports",
2026
+ "description": "estimateComplexity imports registerParser from registry.ts"
2027
+ },
2028
+ {
2029
+ "from": "slugify__javascript",
2030
+ "to": "registerParser__registry",
2031
+ "type": "imports",
2032
+ "description": "slugify imports registerParser from registry.ts"
2033
+ },
2034
+ {
2035
+ "from": "extractEntities__javascript",
2036
+ "to": "registerParser__registry",
2037
+ "type": "imports",
2038
+ "description": "extractEntities imports registerParser from registry.ts"
2039
+ },
2040
+ {
2041
+ "from": "extractImports__javascript",
2042
+ "to": "registerParser__registry",
2043
+ "type": "imports",
2044
+ "description": "extractImports imports registerParser from registry.ts"
2045
+ },
2046
+ {
2047
+ "from": "extractExports__javascript",
2048
+ "to": "registerParser__registry",
2049
+ "type": "imports",
2050
+ "description": "extractExports imports registerParser from registry.ts"
2051
+ },
2052
+ {
2053
+ "from": "escapeRegex__python",
2054
+ "to": "RawEntity__types",
2055
+ "type": "imports",
2056
+ "description": "escapeRegex imports RawEntity from types.ts"
2057
+ },
2058
+ {
2059
+ "from": "estimateComplexity__python",
2060
+ "to": "RawEntity__types",
2061
+ "type": "imports",
2062
+ "description": "estimateComplexity imports RawEntity from types.ts"
2063
+ },
2064
+ {
2065
+ "from": "extractEntities__python",
2066
+ "to": "RawEntity__types",
2067
+ "type": "imports",
2068
+ "description": "extractEntities imports RawEntity from types.ts"
2069
+ },
2070
+ {
2071
+ "from": "stripAlias__python",
2072
+ "to": "RawEntity__types",
2073
+ "type": "imports",
2074
+ "description": "stripAlias imports RawEntity from types.ts"
2075
+ },
2076
+ {
2077
+ "from": "extractImports__python",
2078
+ "to": "RawEntity__types",
2079
+ "type": "imports",
2080
+ "description": "extractImports imports RawEntity from types.ts"
2081
+ },
2082
+ {
2083
+ "from": "extractExports__python",
2084
+ "to": "RawEntity__types",
2085
+ "type": "imports",
2086
+ "description": "extractExports imports RawEntity from types.ts"
2087
+ },
2088
+ {
2089
+ "from": "escapeRegex__python",
2090
+ "to": "RawImport__types",
2091
+ "type": "imports",
2092
+ "description": "escapeRegex imports RawImport from types.ts"
2093
+ },
2094
+ {
2095
+ "from": "estimateComplexity__python",
2096
+ "to": "RawImport__types",
2097
+ "type": "imports",
2098
+ "description": "estimateComplexity imports RawImport from types.ts"
2099
+ },
2100
+ {
2101
+ "from": "extractEntities__python",
2102
+ "to": "RawImport__types",
2103
+ "type": "imports",
2104
+ "description": "extractEntities imports RawImport from types.ts"
2105
+ },
2106
+ {
2107
+ "from": "stripAlias__python",
2108
+ "to": "RawImport__types",
2109
+ "type": "imports",
2110
+ "description": "stripAlias imports RawImport from types.ts"
2111
+ },
2112
+ {
2113
+ "from": "extractImports__python",
2114
+ "to": "RawImport__types",
2115
+ "type": "imports",
2116
+ "description": "extractImports imports RawImport from types.ts"
2117
+ },
2118
+ {
2119
+ "from": "extractExports__python",
2120
+ "to": "RawImport__types",
2121
+ "type": "imports",
2122
+ "description": "extractExports imports RawImport from types.ts"
2123
+ },
2124
+ {
2125
+ "from": "escapeRegex__python",
2126
+ "to": "EntityPattern__registry",
2127
+ "type": "imports",
2128
+ "description": "escapeRegex imports EntityPattern from registry.ts"
2129
+ },
2130
+ {
2131
+ "from": "estimateComplexity__python",
2132
+ "to": "EntityPattern__registry",
2133
+ "type": "imports",
2134
+ "description": "estimateComplexity imports EntityPattern from registry.ts"
2135
+ },
2136
+ {
2137
+ "from": "extractEntities__python",
2138
+ "to": "EntityPattern__registry",
2139
+ "type": "imports",
2140
+ "description": "extractEntities imports EntityPattern from registry.ts"
2141
+ },
2142
+ {
2143
+ "from": "stripAlias__python",
2144
+ "to": "EntityPattern__registry",
2145
+ "type": "imports",
2146
+ "description": "stripAlias imports EntityPattern from registry.ts"
2147
+ },
2148
+ {
2149
+ "from": "extractImports__python",
2150
+ "to": "EntityPattern__registry",
2151
+ "type": "imports",
2152
+ "description": "extractImports imports EntityPattern from registry.ts"
2153
+ },
2154
+ {
2155
+ "from": "extractExports__python",
2156
+ "to": "EntityPattern__registry",
2157
+ "type": "imports",
2158
+ "description": "extractExports imports EntityPattern from registry.ts"
2159
+ },
2160
+ {
2161
+ "from": "escapeRegex__python",
2162
+ "to": "LanguageParser__registry",
2163
+ "type": "imports",
2164
+ "description": "escapeRegex imports LanguageParser from registry.ts"
2165
+ },
2166
+ {
2167
+ "from": "estimateComplexity__python",
2168
+ "to": "LanguageParser__registry",
2169
+ "type": "imports",
2170
+ "description": "estimateComplexity imports LanguageParser from registry.ts"
2171
+ },
2172
+ {
2173
+ "from": "extractEntities__python",
2174
+ "to": "LanguageParser__registry",
2175
+ "type": "imports",
2176
+ "description": "extractEntities imports LanguageParser from registry.ts"
2177
+ },
2178
+ {
2179
+ "from": "stripAlias__python",
2180
+ "to": "LanguageParser__registry",
2181
+ "type": "imports",
2182
+ "description": "stripAlias imports LanguageParser from registry.ts"
2183
+ },
2184
+ {
2185
+ "from": "extractImports__python",
2186
+ "to": "LanguageParser__registry",
2187
+ "type": "imports",
2188
+ "description": "extractImports imports LanguageParser from registry.ts"
2189
+ },
2190
+ {
2191
+ "from": "extractExports__python",
2192
+ "to": "LanguageParser__registry",
2193
+ "type": "imports",
2194
+ "description": "extractExports imports LanguageParser from registry.ts"
2195
+ },
2196
+ {
2197
+ "from": "escapeRegex__python",
2198
+ "to": "registerParser__registry",
2199
+ "type": "imports",
2200
+ "description": "escapeRegex imports registerParser from registry.ts"
2201
+ },
2202
+ {
2203
+ "from": "estimateComplexity__python",
2204
+ "to": "registerParser__registry",
2205
+ "type": "imports",
2206
+ "description": "estimateComplexity imports registerParser from registry.ts"
2207
+ },
2208
+ {
2209
+ "from": "extractEntities__python",
2210
+ "to": "registerParser__registry",
2211
+ "type": "imports",
2212
+ "description": "extractEntities imports registerParser from registry.ts"
2213
+ },
2214
+ {
2215
+ "from": "stripAlias__python",
2216
+ "to": "registerParser__registry",
2217
+ "type": "imports",
2218
+ "description": "stripAlias imports registerParser from registry.ts"
2219
+ },
2220
+ {
2221
+ "from": "extractImports__python",
2222
+ "to": "registerParser__registry",
2223
+ "type": "imports",
2224
+ "description": "extractImports imports registerParser from registry.ts"
2225
+ },
2226
+ {
2227
+ "from": "extractExports__python",
2228
+ "to": "registerParser__registry",
2229
+ "type": "imports",
2230
+ "description": "extractExports imports registerParser from registry.ts"
2231
+ },
2232
+ {
2233
+ "from": "registerParser__registry",
2234
+ "to": "RawEntity__types",
2235
+ "type": "imports",
2236
+ "description": "registerParser imports RawEntity from types.ts"
2237
+ },
2238
+ {
2239
+ "from": "getLanguageParser__registry",
2240
+ "to": "RawEntity__types",
2241
+ "type": "imports",
2242
+ "description": "getLanguageParser imports RawEntity from types.ts"
2243
+ },
2244
+ {
2245
+ "from": "EntityPattern__registry",
2246
+ "to": "RawEntity__types",
2247
+ "type": "imports",
2248
+ "description": "EntityPattern imports RawEntity from types.ts"
2249
+ },
2250
+ {
2251
+ "from": "LanguageParser__registry",
2252
+ "to": "RawEntity__types",
2253
+ "type": "imports",
2254
+ "description": "LanguageParser imports RawEntity from types.ts"
2255
+ },
2256
+ {
2257
+ "from": "registerParser__registry",
2258
+ "to": "RawImport__types",
2259
+ "type": "imports",
2260
+ "description": "registerParser imports RawImport from types.ts"
2261
+ },
2262
+ {
2263
+ "from": "getLanguageParser__registry",
2264
+ "to": "RawImport__types",
2265
+ "type": "imports",
2266
+ "description": "getLanguageParser imports RawImport from types.ts"
2267
+ },
2268
+ {
2269
+ "from": "EntityPattern__registry",
2270
+ "to": "RawImport__types",
2271
+ "type": "imports",
2272
+ "description": "EntityPattern imports RawImport from types.ts"
2273
+ },
2274
+ {
2275
+ "from": "LanguageParser__registry",
2276
+ "to": "RawImport__types",
2277
+ "type": "imports",
2278
+ "description": "LanguageParser imports RawImport from types.ts"
2279
+ },
2280
+ {
2281
+ "from": "color__main",
2282
+ "to": "collectFiles__collector",
2283
+ "type": "imports",
2284
+ "description": "color imports collectFiles from collector.ts"
2285
+ },
2286
+ {
2287
+ "from": "getFlag__main",
2288
+ "to": "collectFiles__collector",
2289
+ "type": "imports",
2290
+ "description": "getFlag imports collectFiles from collector.ts"
2291
+ },
2292
+ {
2293
+ "from": "printHelp__main",
2294
+ "to": "collectFiles__collector",
2295
+ "type": "imports",
2296
+ "description": "printHelp imports collectFiles from collector.ts"
2297
+ },
2298
+ {
2299
+ "from": "printBanner__main",
2300
+ "to": "collectFiles__collector",
2301
+ "type": "imports",
2302
+ "description": "printBanner imports collectFiles from collector.ts"
2303
+ },
2304
+ {
2305
+ "from": "printSummary__main",
2306
+ "to": "collectFiles__collector",
2307
+ "type": "imports",
2308
+ "description": "printSummary imports collectFiles from collector.ts"
2309
+ },
2310
+ {
2311
+ "from": "printImpact__main",
2312
+ "to": "collectFiles__collector",
2313
+ "type": "imports",
2314
+ "description": "printImpact imports collectFiles from collector.ts"
2315
+ },
2316
+ {
2317
+ "from": "dim__main",
2318
+ "to": "collectFiles__collector",
2319
+ "type": "imports",
2320
+ "description": "dim imports collectFiles from collector.ts"
2321
+ },
2322
+ {
2323
+ "from": "bold__main",
2324
+ "to": "collectFiles__collector",
2325
+ "type": "imports",
2326
+ "description": "bold imports collectFiles from collector.ts"
2327
+ },
2328
+ {
2329
+ "from": "green__main",
2330
+ "to": "collectFiles__collector",
2331
+ "type": "imports",
2332
+ "description": "green imports collectFiles from collector.ts"
2333
+ },
2334
+ {
2335
+ "from": "yellow__main",
2336
+ "to": "collectFiles__collector",
2337
+ "type": "imports",
2338
+ "description": "yellow imports collectFiles from collector.ts"
2339
+ },
2340
+ {
2341
+ "from": "red__main",
2342
+ "to": "collectFiles__collector",
2343
+ "type": "imports",
2344
+ "description": "red imports collectFiles from collector.ts"
2345
+ },
2346
+ {
2347
+ "from": "cyan__main",
2348
+ "to": "collectFiles__collector",
2349
+ "type": "imports",
2350
+ "description": "cyan imports collectFiles from collector.ts"
2351
+ },
2352
+ {
2353
+ "from": "color__main",
2354
+ "to": "parseFiles__parser",
2355
+ "type": "imports",
2356
+ "description": "color imports parseFiles from parser.ts"
2357
+ },
2358
+ {
2359
+ "from": "getFlag__main",
2360
+ "to": "parseFiles__parser",
2361
+ "type": "imports",
2362
+ "description": "getFlag imports parseFiles from parser.ts"
2363
+ },
2364
+ {
2365
+ "from": "printHelp__main",
2366
+ "to": "parseFiles__parser",
2367
+ "type": "imports",
2368
+ "description": "printHelp imports parseFiles from parser.ts"
2369
+ },
2370
+ {
2371
+ "from": "printBanner__main",
2372
+ "to": "parseFiles__parser",
2373
+ "type": "imports",
2374
+ "description": "printBanner imports parseFiles from parser.ts"
2375
+ },
2376
+ {
2377
+ "from": "printSummary__main",
2378
+ "to": "parseFiles__parser",
2379
+ "type": "imports",
2380
+ "description": "printSummary imports parseFiles from parser.ts"
2381
+ },
2382
+ {
2383
+ "from": "printImpact__main",
2384
+ "to": "parseFiles__parser",
2385
+ "type": "imports",
2386
+ "description": "printImpact imports parseFiles from parser.ts"
2387
+ },
2388
+ {
2389
+ "from": "dim__main",
2390
+ "to": "parseFiles__parser",
2391
+ "type": "imports",
2392
+ "description": "dim imports parseFiles from parser.ts"
2393
+ },
2394
+ {
2395
+ "from": "bold__main",
2396
+ "to": "parseFiles__parser",
2397
+ "type": "imports",
2398
+ "description": "bold imports parseFiles from parser.ts"
2399
+ },
2400
+ {
2401
+ "from": "green__main",
2402
+ "to": "parseFiles__parser",
2403
+ "type": "imports",
2404
+ "description": "green imports parseFiles from parser.ts"
2405
+ },
2406
+ {
2407
+ "from": "yellow__main",
2408
+ "to": "parseFiles__parser",
2409
+ "type": "imports",
2410
+ "description": "yellow imports parseFiles from parser.ts"
2411
+ },
2412
+ {
2413
+ "from": "red__main",
2414
+ "to": "parseFiles__parser",
2415
+ "type": "imports",
2416
+ "description": "red imports parseFiles from parser.ts"
2417
+ },
2418
+ {
2419
+ "from": "cyan__main",
2420
+ "to": "parseFiles__parser",
2421
+ "type": "imports",
2422
+ "description": "cyan imports parseFiles from parser.ts"
2423
+ },
2424
+ {
2425
+ "from": "color__main",
2426
+ "to": "buildGraph__graph",
2427
+ "type": "imports",
2428
+ "description": "color imports buildGraph from graph.ts"
2429
+ },
2430
+ {
2431
+ "from": "getFlag__main",
2432
+ "to": "buildGraph__graph",
2433
+ "type": "imports",
2434
+ "description": "getFlag imports buildGraph from graph.ts"
2435
+ },
2436
+ {
2437
+ "from": "printHelp__main",
2438
+ "to": "buildGraph__graph",
2439
+ "type": "imports",
2440
+ "description": "printHelp imports buildGraph from graph.ts"
2441
+ },
2442
+ {
2443
+ "from": "printBanner__main",
2444
+ "to": "buildGraph__graph",
2445
+ "type": "imports",
2446
+ "description": "printBanner imports buildGraph from graph.ts"
2447
+ },
2448
+ {
2449
+ "from": "printSummary__main",
2450
+ "to": "buildGraph__graph",
2451
+ "type": "imports",
2452
+ "description": "printSummary imports buildGraph from graph.ts"
2453
+ },
2454
+ {
2455
+ "from": "printImpact__main",
2456
+ "to": "buildGraph__graph",
2457
+ "type": "imports",
2458
+ "description": "printImpact imports buildGraph from graph.ts"
2459
+ },
2460
+ {
2461
+ "from": "dim__main",
2462
+ "to": "buildGraph__graph",
2463
+ "type": "imports",
2464
+ "description": "dim imports buildGraph from graph.ts"
2465
+ },
2466
+ {
2467
+ "from": "bold__main",
2468
+ "to": "buildGraph__graph",
2469
+ "type": "imports",
2470
+ "description": "bold imports buildGraph from graph.ts"
2471
+ },
2472
+ {
2473
+ "from": "green__main",
2474
+ "to": "buildGraph__graph",
2475
+ "type": "imports",
2476
+ "description": "green imports buildGraph from graph.ts"
2477
+ },
2478
+ {
2479
+ "from": "yellow__main",
2480
+ "to": "buildGraph__graph",
2481
+ "type": "imports",
2482
+ "description": "yellow imports buildGraph from graph.ts"
2483
+ },
2484
+ {
2485
+ "from": "red__main",
2486
+ "to": "buildGraph__graph",
2487
+ "type": "imports",
2488
+ "description": "red imports buildGraph from graph.ts"
2489
+ },
2490
+ {
2491
+ "from": "cyan__main",
2492
+ "to": "buildGraph__graph",
2493
+ "type": "imports",
2494
+ "description": "cyan imports buildGraph from graph.ts"
2495
+ },
2496
+ {
2497
+ "from": "color__main",
2498
+ "to": "computeMetrics__metrics",
2499
+ "type": "imports",
2500
+ "description": "color imports computeMetrics from metrics.ts"
2501
+ },
2502
+ {
2503
+ "from": "getFlag__main",
2504
+ "to": "computeMetrics__metrics",
2505
+ "type": "imports",
2506
+ "description": "getFlag imports computeMetrics from metrics.ts"
2507
+ },
2508
+ {
2509
+ "from": "printHelp__main",
2510
+ "to": "computeMetrics__metrics",
2511
+ "type": "imports",
2512
+ "description": "printHelp imports computeMetrics from metrics.ts"
2513
+ },
2514
+ {
2515
+ "from": "printBanner__main",
2516
+ "to": "computeMetrics__metrics",
2517
+ "type": "imports",
2518
+ "description": "printBanner imports computeMetrics from metrics.ts"
2519
+ },
2520
+ {
2521
+ "from": "printSummary__main",
2522
+ "to": "computeMetrics__metrics",
2523
+ "type": "imports",
2524
+ "description": "printSummary imports computeMetrics from metrics.ts"
2525
+ },
2526
+ {
2527
+ "from": "printImpact__main",
2528
+ "to": "computeMetrics__metrics",
2529
+ "type": "imports",
2530
+ "description": "printImpact imports computeMetrics from metrics.ts"
2531
+ },
2532
+ {
2533
+ "from": "dim__main",
2534
+ "to": "computeMetrics__metrics",
2535
+ "type": "imports",
2536
+ "description": "dim imports computeMetrics from metrics.ts"
2537
+ },
2538
+ {
2539
+ "from": "bold__main",
2540
+ "to": "computeMetrics__metrics",
2541
+ "type": "imports",
2542
+ "description": "bold imports computeMetrics from metrics.ts"
2543
+ },
2544
+ {
2545
+ "from": "green__main",
2546
+ "to": "computeMetrics__metrics",
2547
+ "type": "imports",
2548
+ "description": "green imports computeMetrics from metrics.ts"
2549
+ },
2550
+ {
2551
+ "from": "yellow__main",
2552
+ "to": "computeMetrics__metrics",
2553
+ "type": "imports",
2554
+ "description": "yellow imports computeMetrics from metrics.ts"
2555
+ },
2556
+ {
2557
+ "from": "red__main",
2558
+ "to": "computeMetrics__metrics",
2559
+ "type": "imports",
2560
+ "description": "red imports computeMetrics from metrics.ts"
2561
+ },
2562
+ {
2563
+ "from": "cyan__main",
2564
+ "to": "computeMetrics__metrics",
2565
+ "type": "imports",
2566
+ "description": "cyan imports computeMetrics from metrics.ts"
2567
+ },
2568
+ {
2569
+ "from": "color__main",
2570
+ "to": "getCriticalNodes__metrics",
2571
+ "type": "imports",
2572
+ "description": "color imports getCriticalNodes from metrics.ts"
2573
+ },
2574
+ {
2575
+ "from": "getFlag__main",
2576
+ "to": "getCriticalNodes__metrics",
2577
+ "type": "imports",
2578
+ "description": "getFlag imports getCriticalNodes from metrics.ts"
2579
+ },
2580
+ {
2581
+ "from": "printHelp__main",
2582
+ "to": "getCriticalNodes__metrics",
2583
+ "type": "imports",
2584
+ "description": "printHelp imports getCriticalNodes from metrics.ts"
2585
+ },
2586
+ {
2587
+ "from": "printBanner__main",
2588
+ "to": "getCriticalNodes__metrics",
2589
+ "type": "imports",
2590
+ "description": "printBanner imports getCriticalNodes from metrics.ts"
2591
+ },
2592
+ {
2593
+ "from": "printSummary__main",
2594
+ "to": "getCriticalNodes__metrics",
2595
+ "type": "imports",
2596
+ "description": "printSummary imports getCriticalNodes from metrics.ts"
2597
+ },
2598
+ {
2599
+ "from": "printImpact__main",
2600
+ "to": "getCriticalNodes__metrics",
2601
+ "type": "imports",
2602
+ "description": "printImpact imports getCriticalNodes from metrics.ts"
2603
+ },
2604
+ {
2605
+ "from": "dim__main",
2606
+ "to": "getCriticalNodes__metrics",
2607
+ "type": "imports",
2608
+ "description": "dim imports getCriticalNodes from metrics.ts"
2609
+ },
2610
+ {
2611
+ "from": "bold__main",
2612
+ "to": "getCriticalNodes__metrics",
2613
+ "type": "imports",
2614
+ "description": "bold imports getCriticalNodes from metrics.ts"
2615
+ },
2616
+ {
2617
+ "from": "green__main",
2618
+ "to": "getCriticalNodes__metrics",
2619
+ "type": "imports",
2620
+ "description": "green imports getCriticalNodes from metrics.ts"
2621
+ },
2622
+ {
2623
+ "from": "yellow__main",
2624
+ "to": "getCriticalNodes__metrics",
2625
+ "type": "imports",
2626
+ "description": "yellow imports getCriticalNodes from metrics.ts"
2627
+ },
2628
+ {
2629
+ "from": "red__main",
2630
+ "to": "getCriticalNodes__metrics",
2631
+ "type": "imports",
2632
+ "description": "red imports getCriticalNodes from metrics.ts"
2633
+ },
2634
+ {
2635
+ "from": "cyan__main",
2636
+ "to": "getCriticalNodes__metrics",
2637
+ "type": "imports",
2638
+ "description": "cyan imports getCriticalNodes from metrics.ts"
2639
+ },
2640
+ {
2641
+ "from": "color__main",
2642
+ "to": "simulateImpact__impact",
2643
+ "type": "imports",
2644
+ "description": "color imports simulateImpact from impact.ts"
2645
+ },
2646
+ {
2647
+ "from": "getFlag__main",
2648
+ "to": "simulateImpact__impact",
2649
+ "type": "imports",
2650
+ "description": "getFlag imports simulateImpact from impact.ts"
2651
+ },
2652
+ {
2653
+ "from": "printHelp__main",
2654
+ "to": "simulateImpact__impact",
2655
+ "type": "imports",
2656
+ "description": "printHelp imports simulateImpact from impact.ts"
2657
+ },
2658
+ {
2659
+ "from": "printBanner__main",
2660
+ "to": "simulateImpact__impact",
2661
+ "type": "imports",
2662
+ "description": "printBanner imports simulateImpact from impact.ts"
2663
+ },
2664
+ {
2665
+ "from": "printSummary__main",
2666
+ "to": "simulateImpact__impact",
2667
+ "type": "imports",
2668
+ "description": "printSummary imports simulateImpact from impact.ts"
2669
+ },
2670
+ {
2671
+ "from": "printImpact__main",
2672
+ "to": "simulateImpact__impact",
2673
+ "type": "imports",
2674
+ "description": "printImpact imports simulateImpact from impact.ts"
2675
+ },
2676
+ {
2677
+ "from": "dim__main",
2678
+ "to": "simulateImpact__impact",
2679
+ "type": "imports",
2680
+ "description": "dim imports simulateImpact from impact.ts"
2681
+ },
2682
+ {
2683
+ "from": "bold__main",
2684
+ "to": "simulateImpact__impact",
2685
+ "type": "imports",
2686
+ "description": "bold imports simulateImpact from impact.ts"
2687
+ },
2688
+ {
2689
+ "from": "green__main",
2690
+ "to": "simulateImpact__impact",
2691
+ "type": "imports",
2692
+ "description": "green imports simulateImpact from impact.ts"
2693
+ },
2694
+ {
2695
+ "from": "yellow__main",
2696
+ "to": "simulateImpact__impact",
2697
+ "type": "imports",
2698
+ "description": "yellow imports simulateImpact from impact.ts"
2699
+ },
2700
+ {
2701
+ "from": "red__main",
2702
+ "to": "simulateImpact__impact",
2703
+ "type": "imports",
2704
+ "description": "red imports simulateImpact from impact.ts"
2705
+ },
2706
+ {
2707
+ "from": "cyan__main",
2708
+ "to": "simulateImpact__impact",
2709
+ "type": "imports",
2710
+ "description": "cyan imports simulateImpact from impact.ts"
2711
+ },
2712
+ {
2713
+ "from": "color__main",
2714
+ "to": "writeOutput__output",
2715
+ "type": "imports",
2716
+ "description": "color imports writeOutput from output.ts"
2717
+ },
2718
+ {
2719
+ "from": "getFlag__main",
2720
+ "to": "writeOutput__output",
2721
+ "type": "imports",
2722
+ "description": "getFlag imports writeOutput from output.ts"
2723
+ },
2724
+ {
2725
+ "from": "printHelp__main",
2726
+ "to": "writeOutput__output",
2727
+ "type": "imports",
2728
+ "description": "printHelp imports writeOutput from output.ts"
2729
+ },
2730
+ {
2731
+ "from": "printBanner__main",
2732
+ "to": "writeOutput__output",
2733
+ "type": "imports",
2734
+ "description": "printBanner imports writeOutput from output.ts"
2735
+ },
2736
+ {
2737
+ "from": "printSummary__main",
2738
+ "to": "writeOutput__output",
2739
+ "type": "imports",
2740
+ "description": "printSummary imports writeOutput from output.ts"
2741
+ },
2742
+ {
2743
+ "from": "printImpact__main",
2744
+ "to": "writeOutput__output",
2745
+ "type": "imports",
2746
+ "description": "printImpact imports writeOutput from output.ts"
2747
+ },
2748
+ {
2749
+ "from": "dim__main",
2750
+ "to": "writeOutput__output",
2751
+ "type": "imports",
2752
+ "description": "dim imports writeOutput from output.ts"
2753
+ },
2754
+ {
2755
+ "from": "bold__main",
2756
+ "to": "writeOutput__output",
2757
+ "type": "imports",
2758
+ "description": "bold imports writeOutput from output.ts"
2759
+ },
2760
+ {
2761
+ "from": "green__main",
2762
+ "to": "writeOutput__output",
2763
+ "type": "imports",
2764
+ "description": "green imports writeOutput from output.ts"
2765
+ },
2766
+ {
2767
+ "from": "yellow__main",
2768
+ "to": "writeOutput__output",
2769
+ "type": "imports",
2770
+ "description": "yellow imports writeOutput from output.ts"
2771
+ },
2772
+ {
2773
+ "from": "red__main",
2774
+ "to": "writeOutput__output",
2775
+ "type": "imports",
2776
+ "description": "red imports writeOutput from output.ts"
2777
+ },
2778
+ {
2779
+ "from": "cyan__main",
2780
+ "to": "writeOutput__output",
2781
+ "type": "imports",
2782
+ "description": "cyan imports writeOutput from output.ts"
2783
+ },
2784
+ {
2785
+ "from": "color__main",
2786
+ "to": "getChangedEntities__gitdiff",
2787
+ "type": "imports",
2788
+ "description": "color imports getChangedEntities from gitdiff.ts"
2789
+ },
2790
+ {
2791
+ "from": "getFlag__main",
2792
+ "to": "getChangedEntities__gitdiff",
2793
+ "type": "imports",
2794
+ "description": "getFlag imports getChangedEntities from gitdiff.ts"
2795
+ },
2796
+ {
2797
+ "from": "printHelp__main",
2798
+ "to": "getChangedEntities__gitdiff",
2799
+ "type": "imports",
2800
+ "description": "printHelp imports getChangedEntities from gitdiff.ts"
2801
+ },
2802
+ {
2803
+ "from": "printBanner__main",
2804
+ "to": "getChangedEntities__gitdiff",
2805
+ "type": "imports",
2806
+ "description": "printBanner imports getChangedEntities from gitdiff.ts"
2807
+ },
2808
+ {
2809
+ "from": "printSummary__main",
2810
+ "to": "getChangedEntities__gitdiff",
2811
+ "type": "imports",
2812
+ "description": "printSummary imports getChangedEntities from gitdiff.ts"
2813
+ },
2814
+ {
2815
+ "from": "printImpact__main",
2816
+ "to": "getChangedEntities__gitdiff",
2817
+ "type": "imports",
2818
+ "description": "printImpact imports getChangedEntities from gitdiff.ts"
2819
+ },
2820
+ {
2821
+ "from": "dim__main",
2822
+ "to": "getChangedEntities__gitdiff",
2823
+ "type": "imports",
2824
+ "description": "dim imports getChangedEntities from gitdiff.ts"
2825
+ },
2826
+ {
2827
+ "from": "bold__main",
2828
+ "to": "getChangedEntities__gitdiff",
2829
+ "type": "imports",
2830
+ "description": "bold imports getChangedEntities from gitdiff.ts"
2831
+ },
2832
+ {
2833
+ "from": "green__main",
2834
+ "to": "getChangedEntities__gitdiff",
2835
+ "type": "imports",
2836
+ "description": "green imports getChangedEntities from gitdiff.ts"
2837
+ },
2838
+ {
2839
+ "from": "yellow__main",
2840
+ "to": "getChangedEntities__gitdiff",
2841
+ "type": "imports",
2842
+ "description": "yellow imports getChangedEntities from gitdiff.ts"
2843
+ },
2844
+ {
2845
+ "from": "red__main",
2846
+ "to": "getChangedEntities__gitdiff",
2847
+ "type": "imports",
2848
+ "description": "red imports getChangedEntities from gitdiff.ts"
2849
+ },
2850
+ {
2851
+ "from": "cyan__main",
2852
+ "to": "getChangedEntities__gitdiff",
2853
+ "type": "imports",
2854
+ "description": "cyan imports getChangedEntities from gitdiff.ts"
2855
+ },
2856
+ {
2857
+ "from": "getChangedEntities__gitdiff",
2858
+ "to": "getLanguageParser__registry",
2859
+ "type": "imports",
2860
+ "description": "getChangedEntities imports getLanguageParser from registry.ts"
2861
+ },
2862
+ {
2863
+ "from": "runGitDiff__gitdiff",
2864
+ "to": "getLanguageParser__registry",
2865
+ "type": "imports",
2866
+ "description": "runGitDiff imports getLanguageParser from registry.ts"
2867
+ },
2868
+ {
2869
+ "from": "parseDiff__gitdiff",
2870
+ "to": "getLanguageParser__registry",
2871
+ "type": "imports",
2872
+ "description": "parseDiff imports getLanguageParser from registry.ts"
2873
+ },
2874
+ {
2875
+ "from": "extractEntityFromContext__gitdiff",
2876
+ "to": "getLanguageParser__registry",
2877
+ "type": "imports",
2878
+ "description": "extractEntityFromContext imports getLanguageParser from registry.ts"
2879
+ },
2880
+ {
2881
+ "from": "buildDescription__gitdiff",
2882
+ "to": "getLanguageParser__registry",
2883
+ "type": "imports",
2884
+ "description": "buildDescription imports getLanguageParser from registry.ts"
2885
+ },
2886
+ {
2887
+ "from": "ChangedEntity__gitdiff",
2888
+ "to": "getLanguageParser__registry",
2889
+ "type": "imports",
2890
+ "description": "ChangedEntity imports getLanguageParser from registry.ts"
2891
+ },
2892
+ {
2893
+ "from": "GitDiffOptions__gitdiff",
2894
+ "to": "getLanguageParser__registry",
2895
+ "type": "imports",
2896
+ "description": "GitDiffOptions imports getLanguageParser from registry.ts"
2897
+ },
2898
+ {
2899
+ "from": "buildGraph__graph",
2900
+ "to": "ParsedFile__types",
2901
+ "type": "imports",
2902
+ "description": "buildGraph imports ParsedFile from types.ts"
2903
+ },
2904
+ {
2905
+ "from": "makeId__graph",
2906
+ "to": "ParsedFile__types",
2907
+ "type": "imports",
2908
+ "description": "makeId imports ParsedFile from types.ts"
2909
+ },
2910
+ {
2911
+ "from": "resolvePath__graph",
2912
+ "to": "ParsedFile__types",
2913
+ "type": "imports",
2914
+ "description": "resolvePath imports ParsedFile from types.ts"
2915
+ },
2916
+ {
2917
+ "from": "buildGraph__graph",
2918
+ "to": "DepGraph__types",
2919
+ "type": "imports",
2920
+ "description": "buildGraph imports DepGraph from types.ts"
2921
+ },
2922
+ {
2923
+ "from": "makeId__graph",
2924
+ "to": "DepGraph__types",
2925
+ "type": "imports",
2926
+ "description": "makeId imports DepGraph from types.ts"
2927
+ },
2928
+ {
2929
+ "from": "resolvePath__graph",
2930
+ "to": "DepGraph__types",
2931
+ "type": "imports",
2932
+ "description": "resolvePath imports DepGraph from types.ts"
2933
+ },
2934
+ {
2935
+ "from": "buildGraph__graph",
2936
+ "to": "DepNode__types",
2937
+ "type": "imports",
2938
+ "description": "buildGraph imports DepNode from types.ts"
2939
+ },
2940
+ {
2941
+ "from": "makeId__graph",
2942
+ "to": "DepNode__types",
2943
+ "type": "imports",
2944
+ "description": "makeId imports DepNode from types.ts"
2945
+ },
2946
+ {
2947
+ "from": "resolvePath__graph",
2948
+ "to": "DepNode__types",
2949
+ "type": "imports",
2950
+ "description": "resolvePath imports DepNode from types.ts"
2951
+ },
2952
+ {
2953
+ "from": "buildGraph__graph",
2954
+ "to": "DepEdge__types",
2955
+ "type": "imports",
2956
+ "description": "buildGraph imports DepEdge from types.ts"
2957
+ },
2958
+ {
2959
+ "from": "makeId__graph",
2960
+ "to": "DepEdge__types",
2961
+ "type": "imports",
2962
+ "description": "makeId imports DepEdge from types.ts"
2963
+ },
2964
+ {
2965
+ "from": "resolvePath__graph",
2966
+ "to": "DepEdge__types",
2967
+ "type": "imports",
2968
+ "description": "resolvePath imports DepEdge from types.ts"
2969
+ },
2970
+ {
2971
+ "from": "simulateImpact__impact",
2972
+ "to": "DepGraph__types",
2973
+ "type": "imports",
2974
+ "description": "simulateImpact imports DepGraph from types.ts"
2975
+ },
2976
+ {
2977
+ "from": "getDirectDependents__impact",
2978
+ "to": "DepGraph__types",
2979
+ "type": "imports",
2980
+ "description": "getDirectDependents imports DepGraph from types.ts"
2981
+ },
2982
+ {
2983
+ "from": "getImpactLevel__impact",
2984
+ "to": "DepGraph__types",
2985
+ "type": "imports",
2986
+ "description": "getImpactLevel imports DepGraph from types.ts"
2987
+ },
2988
+ {
2989
+ "from": "computeRiskScore__impact",
2990
+ "to": "DepGraph__types",
2991
+ "type": "imports",
2992
+ "description": "computeRiskScore imports DepGraph from types.ts"
2993
+ },
2994
+ {
2995
+ "from": "getRiskLevel__impact",
2996
+ "to": "DepGraph__types",
2997
+ "type": "imports",
2998
+ "description": "getRiskLevel imports DepGraph from types.ts"
2999
+ },
3000
+ {
3001
+ "from": "getReason__impact",
3002
+ "to": "DepGraph__types",
3003
+ "type": "imports",
3004
+ "description": "getReason imports DepGraph from types.ts"
3005
+ },
3006
+ {
3007
+ "from": "getChangeRequired__impact",
3008
+ "to": "DepGraph__types",
3009
+ "type": "imports",
3010
+ "description": "getChangeRequired imports DepGraph from types.ts"
3011
+ },
3012
+ {
3013
+ "from": "buildTestingPlan__impact",
3014
+ "to": "DepGraph__types",
3015
+ "type": "imports",
3016
+ "description": "buildTestingPlan imports DepGraph from types.ts"
3017
+ },
3018
+ {
3019
+ "from": "buildRecommendations__impact",
3020
+ "to": "DepGraph__types",
3021
+ "type": "imports",
3022
+ "description": "buildRecommendations imports DepGraph from types.ts"
3023
+ },
3024
+ {
3025
+ "from": "emptyReport__impact",
3026
+ "to": "DepGraph__types",
3027
+ "type": "imports",
3028
+ "description": "emptyReport imports DepGraph from types.ts"
3029
+ },
3030
+ {
3031
+ "from": "simulateImpact__impact",
3032
+ "to": "AffectedNode__types",
3033
+ "type": "imports",
3034
+ "description": "simulateImpact imports AffectedNode from types.ts"
3035
+ },
3036
+ {
3037
+ "from": "getDirectDependents__impact",
3038
+ "to": "AffectedNode__types",
3039
+ "type": "imports",
3040
+ "description": "getDirectDependents imports AffectedNode from types.ts"
3041
+ },
3042
+ {
3043
+ "from": "getImpactLevel__impact",
3044
+ "to": "AffectedNode__types",
3045
+ "type": "imports",
3046
+ "description": "getImpactLevel imports AffectedNode from types.ts"
3047
+ },
3048
+ {
3049
+ "from": "computeRiskScore__impact",
3050
+ "to": "AffectedNode__types",
3051
+ "type": "imports",
3052
+ "description": "computeRiskScore imports AffectedNode from types.ts"
3053
+ },
3054
+ {
3055
+ "from": "getRiskLevel__impact",
3056
+ "to": "AffectedNode__types",
3057
+ "type": "imports",
3058
+ "description": "getRiskLevel imports AffectedNode from types.ts"
3059
+ },
3060
+ {
3061
+ "from": "getReason__impact",
3062
+ "to": "AffectedNode__types",
3063
+ "type": "imports",
3064
+ "description": "getReason imports AffectedNode from types.ts"
3065
+ },
3066
+ {
3067
+ "from": "getChangeRequired__impact",
3068
+ "to": "AffectedNode__types",
3069
+ "type": "imports",
3070
+ "description": "getChangeRequired imports AffectedNode from types.ts"
3071
+ },
3072
+ {
3073
+ "from": "buildTestingPlan__impact",
3074
+ "to": "AffectedNode__types",
3075
+ "type": "imports",
3076
+ "description": "buildTestingPlan imports AffectedNode from types.ts"
3077
+ },
3078
+ {
3079
+ "from": "buildRecommendations__impact",
3080
+ "to": "AffectedNode__types",
3081
+ "type": "imports",
3082
+ "description": "buildRecommendations imports AffectedNode from types.ts"
3083
+ },
3084
+ {
3085
+ "from": "emptyReport__impact",
3086
+ "to": "AffectedNode__types",
3087
+ "type": "imports",
3088
+ "description": "emptyReport imports AffectedNode from types.ts"
3089
+ },
3090
+ {
3091
+ "from": "simulateImpact__impact",
3092
+ "to": "ImpactReport__types",
3093
+ "type": "imports",
3094
+ "description": "simulateImpact imports ImpactReport from types.ts"
3095
+ },
3096
+ {
3097
+ "from": "getDirectDependents__impact",
3098
+ "to": "ImpactReport__types",
3099
+ "type": "imports",
3100
+ "description": "getDirectDependents imports ImpactReport from types.ts"
3101
+ },
3102
+ {
3103
+ "from": "getImpactLevel__impact",
3104
+ "to": "ImpactReport__types",
3105
+ "type": "imports",
3106
+ "description": "getImpactLevel imports ImpactReport from types.ts"
3107
+ },
3108
+ {
3109
+ "from": "computeRiskScore__impact",
3110
+ "to": "ImpactReport__types",
3111
+ "type": "imports",
3112
+ "description": "computeRiskScore imports ImpactReport from types.ts"
3113
+ },
3114
+ {
3115
+ "from": "getRiskLevel__impact",
3116
+ "to": "ImpactReport__types",
3117
+ "type": "imports",
3118
+ "description": "getRiskLevel imports ImpactReport from types.ts"
3119
+ },
3120
+ {
3121
+ "from": "getReason__impact",
3122
+ "to": "ImpactReport__types",
3123
+ "type": "imports",
3124
+ "description": "getReason imports ImpactReport from types.ts"
3125
+ },
3126
+ {
3127
+ "from": "getChangeRequired__impact",
3128
+ "to": "ImpactReport__types",
3129
+ "type": "imports",
3130
+ "description": "getChangeRequired imports ImpactReport from types.ts"
3131
+ },
3132
+ {
3133
+ "from": "buildTestingPlan__impact",
3134
+ "to": "ImpactReport__types",
3135
+ "type": "imports",
3136
+ "description": "buildTestingPlan imports ImpactReport from types.ts"
3137
+ },
3138
+ {
3139
+ "from": "buildRecommendations__impact",
3140
+ "to": "ImpactReport__types",
3141
+ "type": "imports",
3142
+ "description": "buildRecommendations imports ImpactReport from types.ts"
3143
+ },
3144
+ {
3145
+ "from": "emptyReport__impact",
3146
+ "to": "ImpactReport__types",
3147
+ "type": "imports",
3148
+ "description": "emptyReport imports ImpactReport from types.ts"
3149
+ },
3150
+ {
3151
+ "from": "computeMetrics__metrics",
3152
+ "to": "DepGraph__types",
3153
+ "type": "imports",
3154
+ "description": "computeMetrics imports DepGraph from types.ts"
3155
+ },
3156
+ {
3157
+ "from": "getEntryPoints__metrics",
3158
+ "to": "DepGraph__types",
3159
+ "type": "imports",
3160
+ "description": "getEntryPoints imports DepGraph from types.ts"
3161
+ },
3162
+ {
3163
+ "from": "getLeafNodes__metrics",
3164
+ "to": "DepGraph__types",
3165
+ "type": "imports",
3166
+ "description": "getLeafNodes imports DepGraph from types.ts"
3167
+ },
3168
+ {
3169
+ "from": "getIsolatedNodes__metrics",
3170
+ "to": "DepGraph__types",
3171
+ "type": "imports",
3172
+ "description": "getIsolatedNodes imports DepGraph from types.ts"
3173
+ },
3174
+ {
3175
+ "from": "getCriticalNodes__metrics",
3176
+ "to": "DepGraph__types",
3177
+ "type": "imports",
3178
+ "description": "getCriticalNodes imports DepGraph from types.ts"
3179
+ },
3180
+ {
3181
+ "from": "computeMetrics__metrics",
3182
+ "to": "DepNode__types",
3183
+ "type": "imports",
3184
+ "description": "computeMetrics imports DepNode from types.ts"
3185
+ },
3186
+ {
3187
+ "from": "getEntryPoints__metrics",
3188
+ "to": "DepNode__types",
3189
+ "type": "imports",
3190
+ "description": "getEntryPoints imports DepNode from types.ts"
3191
+ },
3192
+ {
3193
+ "from": "getLeafNodes__metrics",
3194
+ "to": "DepNode__types",
3195
+ "type": "imports",
3196
+ "description": "getLeafNodes imports DepNode from types.ts"
3197
+ },
3198
+ {
3199
+ "from": "getIsolatedNodes__metrics",
3200
+ "to": "DepNode__types",
3201
+ "type": "imports",
3202
+ "description": "getIsolatedNodes imports DepNode from types.ts"
3203
+ },
3204
+ {
3205
+ "from": "getCriticalNodes__metrics",
3206
+ "to": "DepNode__types",
3207
+ "type": "imports",
3208
+ "description": "getCriticalNodes imports DepNode from types.ts"
3209
+ },
3210
+ {
3211
+ "from": "writeOutput__output",
3212
+ "to": "DepGraph__types",
3213
+ "type": "imports",
3214
+ "description": "writeOutput imports DepGraph from types.ts"
3215
+ },
3216
+ {
3217
+ "from": "writeOutput__output",
3218
+ "to": "ParsedFile__types",
3219
+ "type": "imports",
3220
+ "description": "writeOutput imports ParsedFile from types.ts"
3221
+ },
3222
+ {
3223
+ "from": "writeOutput__output",
3224
+ "to": "ImpactReport__types",
3225
+ "type": "imports",
3226
+ "description": "writeOutput imports ImpactReport from types.ts"
3227
+ },
3228
+ {
3229
+ "from": "writeOutput__output",
3230
+ "to": "OutputJSON__types",
3231
+ "type": "imports",
3232
+ "description": "writeOutput imports OutputJSON from types.ts"
3233
+ },
3234
+ {
3235
+ "from": "writeOutput__output",
3236
+ "to": "getEntryPoints__metrics",
3237
+ "type": "imports",
3238
+ "description": "writeOutput imports getEntryPoints from metrics.ts"
3239
+ },
3240
+ {
3241
+ "from": "writeOutput__output",
3242
+ "to": "getLeafNodes__metrics",
3243
+ "type": "imports",
3244
+ "description": "writeOutput imports getLeafNodes from metrics.ts"
3245
+ },
3246
+ {
3247
+ "from": "writeOutput__output",
3248
+ "to": "getIsolatedNodes__metrics",
3249
+ "type": "imports",
3250
+ "description": "writeOutput imports getIsolatedNodes from metrics.ts"
3251
+ },
3252
+ {
3253
+ "from": "writeOutput__output",
3254
+ "to": "getCriticalNodes__metrics",
3255
+ "type": "imports",
3256
+ "description": "writeOutput imports getCriticalNodes from metrics.ts"
3257
+ },
3258
+ {
3259
+ "from": "parseFile__parser",
3260
+ "to": "ParsedFile__types",
3261
+ "type": "imports",
3262
+ "description": "parseFile imports ParsedFile from types.ts"
3263
+ },
3264
+ {
3265
+ "from": "parseFiles__parser",
3266
+ "to": "ParsedFile__types",
3267
+ "type": "imports",
3268
+ "description": "parseFiles imports ParsedFile from types.ts"
3269
+ },
3270
+ {
3271
+ "from": "parseFile__parser",
3272
+ "to": "RawEntity__types",
3273
+ "type": "imports",
3274
+ "description": "parseFile imports RawEntity from types.ts"
3275
+ },
3276
+ {
3277
+ "from": "parseFiles__parser",
3278
+ "to": "RawEntity__types",
3279
+ "type": "imports",
3280
+ "description": "parseFiles imports RawEntity from types.ts"
3281
+ },
3282
+ {
3283
+ "from": "parseFile__parser",
3284
+ "to": "RawImport__types",
3285
+ "type": "imports",
3286
+ "description": "parseFile imports RawImport from types.ts"
3287
+ },
3288
+ {
3289
+ "from": "parseFiles__parser",
3290
+ "to": "RawImport__types",
3291
+ "type": "imports",
3292
+ "description": "parseFiles imports RawImport from types.ts"
3293
+ },
3294
+ {
3295
+ "from": "parseFile__parser",
3296
+ "to": "getLanguageParser__registry",
3297
+ "type": "imports",
3298
+ "description": "parseFile imports getLanguageParser from registry.ts"
3299
+ },
3300
+ {
3301
+ "from": "parseFiles__parser",
3302
+ "to": "getLanguageParser__registry",
3303
+ "type": "imports",
3304
+ "description": "parseFiles imports getLanguageParser from registry.ts"
3305
+ }
3306
+ ],
3307
+ "files": [
3308
+ {
3309
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/depgraph.js",
3310
+ "lang": "js",
3311
+ "lines": 1252,
3312
+ "entities": [
3313
+ {
3314
+ "name": "color",
3315
+ "type": "function",
3316
+ "line": 1063,
3317
+ "complexity": "low"
3318
+ },
3319
+ {
3320
+ "name": "getFlag",
3321
+ "type": "function",
3322
+ "line": 1074,
3323
+ "complexity": "low"
3324
+ },
3325
+ {
3326
+ "name": "printHelp",
3327
+ "type": "function",
3328
+ "line": 1078,
3329
+ "complexity": "low"
3330
+ },
3331
+ {
3332
+ "name": "printBanner",
3333
+ "type": "function",
3334
+ "line": 1126,
3335
+ "complexity": "low"
3336
+ },
3337
+ {
3338
+ "name": "printSummary",
3339
+ "type": "function",
3340
+ "line": 1133,
3341
+ "complexity": "low"
3342
+ },
3343
+ {
3344
+ "name": "printImpact",
3345
+ "type": "function",
3346
+ "line": 1146,
3347
+ "complexity": "medium"
3348
+ }
3349
+ ],
3350
+ "imports": [
3351
+ {
3352
+ "source": "child_process",
3353
+ "names": [
3354
+ "child_process_1"
3355
+ ],
3356
+ "isLocal": false
3357
+ }
3358
+ ],
3359
+ "exports": []
3360
+ },
3361
+ {
3362
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/collector.test.ts",
3363
+ "lang": "js",
3364
+ "lines": 80,
3365
+ "entities": [],
3366
+ "imports": [
3367
+ {
3368
+ "source": "vitest",
3369
+ "names": [
3370
+ "describe",
3371
+ "it",
3372
+ "expect",
3373
+ "beforeEach",
3374
+ "afterEach"
3375
+ ],
3376
+ "isLocal": false
3377
+ },
3378
+ {
3379
+ "source": "../stages/collector",
3380
+ "names": [
3381
+ "collectFiles"
3382
+ ],
3383
+ "isLocal": true
3384
+ },
3385
+ {
3386
+ "source": "fs",
3387
+ "names": [
3388
+ "fs"
3389
+ ],
3390
+ "isLocal": false
3391
+ },
3392
+ {
3393
+ "source": "path",
3394
+ "names": [
3395
+ "path"
3396
+ ],
3397
+ "isLocal": false
3398
+ }
3399
+ ],
3400
+ "exports": []
3401
+ },
3402
+ {
3403
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/gitdiff.test.ts",
3404
+ "lang": "js",
3405
+ "lines": 208,
3406
+ "entities": [
3407
+ {
3408
+ "name": "GET /users",
3409
+ "type": "api",
3410
+ "line": 181,
3411
+ "complexity": "low"
3412
+ }
3413
+ ],
3414
+ "imports": [
3415
+ {
3416
+ "source": "vitest",
3417
+ "names": [
3418
+ "describe",
3419
+ "it",
3420
+ "expect",
3421
+ "vi",
3422
+ "beforeEach"
3423
+ ],
3424
+ "isLocal": false
3425
+ },
3426
+ {
3427
+ "source": "child_process",
3428
+ "names": [
3429
+ "execSync"
3430
+ ],
3431
+ "isLocal": false
3432
+ },
3433
+ {
3434
+ "source": "../stages/gitdiff",
3435
+ "names": [
3436
+ "getChangedEntities"
3437
+ ],
3438
+ "isLocal": true
3439
+ }
3440
+ ],
3441
+ "exports": []
3442
+ },
3443
+ {
3444
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/graph.test.ts",
3445
+ "lang": "js",
3446
+ "lines": 211,
3447
+ "entities": [
3448
+ {
3449
+ "name": "makeId",
3450
+ "type": "function",
3451
+ "line": 5,
3452
+ "complexity": "low"
3453
+ }
3454
+ ],
3455
+ "imports": [
3456
+ {
3457
+ "source": "vitest",
3458
+ "names": [
3459
+ "describe",
3460
+ "it",
3461
+ "expect"
3462
+ ],
3463
+ "isLocal": false
3464
+ },
3465
+ {
3466
+ "source": "../stages/graph",
3467
+ "names": [
3468
+ "buildGraph"
3469
+ ],
3470
+ "isLocal": true
3471
+ },
3472
+ {
3473
+ "source": "../types",
3474
+ "names": [
3475
+ "ParsedFile"
3476
+ ],
3477
+ "isLocal": true
3478
+ }
3479
+ ],
3480
+ "exports": []
3481
+ },
3482
+ {
3483
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/impact.test.ts",
3484
+ "lang": "js",
3485
+ "lines": 183,
3486
+ "entities": [
3487
+ {
3488
+ "name": "createMockNode",
3489
+ "type": "function",
3490
+ "line": 5,
3491
+ "complexity": "low"
3492
+ }
3493
+ ],
3494
+ "imports": [
3495
+ {
3496
+ "source": "vitest",
3497
+ "names": [
3498
+ "describe",
3499
+ "it",
3500
+ "expect"
3501
+ ],
3502
+ "isLocal": false
3503
+ },
3504
+ {
3505
+ "source": "../stages/impact",
3506
+ "names": [
3507
+ "simulateImpact"
3508
+ ],
3509
+ "isLocal": true
3510
+ },
3511
+ {
3512
+ "source": "../types",
3513
+ "names": [
3514
+ "DepGraph",
3515
+ "DepNode"
3516
+ ],
3517
+ "isLocal": true
3518
+ }
3519
+ ],
3520
+ "exports": []
3521
+ },
3522
+ {
3523
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/metrics.test.ts",
3524
+ "lang": "js",
3525
+ "lines": 121,
3526
+ "entities": [
3527
+ {
3528
+ "name": "createMockNode",
3529
+ "type": "function",
3530
+ "line": 11,
3531
+ "complexity": "low"
3532
+ }
3533
+ ],
3534
+ "imports": [
3535
+ {
3536
+ "source": "vitest",
3537
+ "names": [
3538
+ "describe",
3539
+ "it",
3540
+ "expect"
3541
+ ],
3542
+ "isLocal": false
3543
+ },
3544
+ {
3545
+ "source": "../stages/metrics",
3546
+ "names": [
3547
+ "computeMetrics",
3548
+ "getEntryPoints",
3549
+ "getLeafNodes",
3550
+ "getIsolatedNodes",
3551
+ "getCriticalNodes"
3552
+ ],
3553
+ "isLocal": true
3554
+ },
3555
+ {
3556
+ "source": "../types",
3557
+ "names": [
3558
+ "DepGraph",
3559
+ "DepNode"
3560
+ ],
3561
+ "isLocal": true
3562
+ }
3563
+ ],
3564
+ "exports": []
3565
+ },
3566
+ {
3567
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/output.test.ts",
3568
+ "lang": "js",
3569
+ "lines": 112,
3570
+ "entities": [],
3571
+ "imports": [
3572
+ {
3573
+ "source": "vitest",
3574
+ "names": [
3575
+ "describe",
3576
+ "it",
3577
+ "expect",
3578
+ "beforeEach",
3579
+ "afterEach"
3580
+ ],
3581
+ "isLocal": false
3582
+ },
3583
+ {
3584
+ "source": "../stages/output",
3585
+ "names": [
3586
+ "writeOutput"
3587
+ ],
3588
+ "isLocal": true
3589
+ },
3590
+ {
3591
+ "source": "../types",
3592
+ "names": [
3593
+ "DepGraph",
3594
+ "ParsedFile",
3595
+ "ImpactReport"
3596
+ ],
3597
+ "isLocal": true
3598
+ },
3599
+ {
3600
+ "source": "fs",
3601
+ "names": [
3602
+ "fs"
3603
+ ],
3604
+ "isLocal": false
3605
+ },
3606
+ {
3607
+ "source": "path",
3608
+ "names": [
3609
+ "path"
3610
+ ],
3611
+ "isLocal": false
3612
+ }
3613
+ ],
3614
+ "exports": []
3615
+ },
3616
+ {
3617
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/parser.test.ts",
3618
+ "lang": "js",
3619
+ "lines": 162,
3620
+ "entities": [
3621
+ {
3622
+ "name": "activeFunc",
3623
+ "type": "function",
3624
+ "line": 145,
3625
+ "complexity": "low"
3626
+ }
3627
+ ],
3628
+ "imports": [
3629
+ {
3630
+ "source": "vitest",
3631
+ "names": [
3632
+ "describe",
3633
+ "it",
3634
+ "expect",
3635
+ "beforeEach",
3636
+ "afterEach"
3637
+ ],
3638
+ "isLocal": false
3639
+ },
3640
+ {
3641
+ "source": "../stages/parser",
3642
+ "names": [
3643
+ "parseFile"
3644
+ ],
3645
+ "isLocal": true
3646
+ },
3647
+ {
3648
+ "source": "fs",
3649
+ "names": [
3650
+ "fs"
3651
+ ],
3652
+ "isLocal": false
3653
+ },
3654
+ {
3655
+ "source": "path",
3656
+ "names": [
3657
+ "path"
3658
+ ],
3659
+ "isLocal": false
3660
+ }
3661
+ ],
3662
+ "exports": []
3663
+ },
3664
+ {
3665
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/__tests__/python.test.ts",
3666
+ "lang": "js",
3667
+ "lines": 131,
3668
+ "entities": [],
3669
+ "imports": [
3670
+ {
3671
+ "source": "vitest",
3672
+ "names": [
3673
+ "describe",
3674
+ "it",
3675
+ "expect",
3676
+ "beforeEach",
3677
+ "afterEach"
3678
+ ],
3679
+ "isLocal": false
3680
+ },
3681
+ {
3682
+ "source": "../stages/parser",
3683
+ "names": [
3684
+ "parseFile"
3685
+ ],
3686
+ "isLocal": true
3687
+ },
3688
+ {
3689
+ "source": "fs",
3690
+ "names": [
3691
+ "fs"
3692
+ ],
3693
+ "isLocal": false
3694
+ },
3695
+ {
3696
+ "source": "path",
3697
+ "names": [
3698
+ "path"
3699
+ ],
3700
+ "isLocal": false
3701
+ }
3702
+ ],
3703
+ "exports": []
3704
+ },
3705
+ {
3706
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/constants.ts",
3707
+ "lang": "js",
3708
+ "lines": 53,
3709
+ "entities": [],
3710
+ "imports": [],
3711
+ "exports": [
3712
+ "VERSION",
3713
+ "IGNORE_DIRS",
3714
+ "SUPPORTED_EXTS",
3715
+ "MAX_FILE_SIZE",
3716
+ "MAX_BFS_DEPTH",
3717
+ "COMPLEXITY_THRESHOLDS"
3718
+ ]
3719
+ },
3720
+ {
3721
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/csharp.ts",
3722
+ "lang": "js",
3723
+ "lines": 1,
3724
+ "entities": [],
3725
+ "imports": [],
3726
+ "exports": []
3727
+ },
3728
+ {
3729
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/go.ts",
3730
+ "lang": "js",
3731
+ "lines": 102,
3732
+ "entities": [
3733
+ {
3734
+ "name": "extractEntities",
3735
+ "type": "function",
3736
+ "line": 26,
3737
+ "complexity": "low"
3738
+ },
3739
+ {
3740
+ "name": "extractImports",
3741
+ "type": "function",
3742
+ "line": 49,
3743
+ "complexity": "medium"
3744
+ },
3745
+ {
3746
+ "name": "extractExports",
3747
+ "type": "function",
3748
+ "line": 76,
3749
+ "complexity": "low"
3750
+ }
3751
+ ],
3752
+ "imports": [
3753
+ {
3754
+ "source": "../types",
3755
+ "names": [
3756
+ "RawEntity",
3757
+ "RawImport"
3758
+ ],
3759
+ "isLocal": true
3760
+ },
3761
+ {
3762
+ "source": "./registry",
3763
+ "names": [
3764
+ "EntityPattern",
3765
+ "LanguageParser",
3766
+ "registerParser"
3767
+ ],
3768
+ "isLocal": true
3769
+ }
3770
+ ],
3771
+ "exports": [
3772
+ "goEntityPatterns"
3773
+ ]
3774
+ },
3775
+ {
3776
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/java.ts",
3777
+ "lang": "js",
3778
+ "lines": 1,
3779
+ "entities": [],
3780
+ "imports": [],
3781
+ "exports": []
3782
+ },
3783
+ {
3784
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/javascript.ts",
3785
+ "lang": "js",
3786
+ "lines": 223,
3787
+ "entities": [
3788
+ {
3789
+ "name": "estimateComplexity",
3790
+ "type": "function",
3791
+ "line": 14,
3792
+ "complexity": "high"
3793
+ },
3794
+ {
3795
+ "name": "slugify",
3796
+ "type": "function",
3797
+ "line": 34,
3798
+ "complexity": "low"
3799
+ },
3800
+ {
3801
+ "name": "extractEntities",
3802
+ "type": "function",
3803
+ "line": 97,
3804
+ "complexity": "medium"
3805
+ },
3806
+ {
3807
+ "name": "extractImports",
3808
+ "type": "function",
3809
+ "line": 143,
3810
+ "complexity": "low"
3811
+ },
3812
+ {
3813
+ "name": "extractExports",
3814
+ "type": "function",
3815
+ "line": 189,
3816
+ "complexity": "low"
3817
+ }
3818
+ ],
3819
+ "imports": [
3820
+ {
3821
+ "source": "../types",
3822
+ "names": [
3823
+ "RawEntity",
3824
+ "RawImport"
3825
+ ],
3826
+ "isLocal": true
3827
+ },
3828
+ {
3829
+ "source": "./registry",
3830
+ "names": [
3831
+ "EntityPattern",
3832
+ "LanguageParser",
3833
+ "registerParser"
3834
+ ],
3835
+ "isLocal": true
3836
+ },
3837
+ {
3838
+ "source": "../constants",
3839
+ "names": [
3840
+ "COMPLEXITY_THRESHOLDS"
3841
+ ],
3842
+ "isLocal": true
3843
+ },
3844
+ {
3845
+ "source": "path",
3846
+ "names": [
3847
+ "path"
3848
+ ],
3849
+ "isLocal": false
3850
+ }
3851
+ ],
3852
+ "exports": [
3853
+ "jsEntityPatterns"
3854
+ ]
3855
+ },
3856
+ {
3857
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/kotlin.ts",
3858
+ "lang": "js",
3859
+ "lines": 1,
3860
+ "entities": [],
3861
+ "imports": [],
3862
+ "exports": []
3863
+ },
3864
+ {
3865
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/php.ts",
3866
+ "lang": "js",
3867
+ "lines": 1,
3868
+ "entities": [],
3869
+ "imports": [],
3870
+ "exports": []
3871
+ },
3872
+ {
3873
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/python.ts",
3874
+ "lang": "js",
3875
+ "lines": 151,
3876
+ "entities": [
3877
+ {
3878
+ "name": "escapeRegex",
3879
+ "type": "function",
3880
+ "line": 7,
3881
+ "complexity": "low"
3882
+ },
3883
+ {
3884
+ "name": "estimateComplexity",
3885
+ "type": "function",
3886
+ "line": 11,
3887
+ "complexity": "high"
3888
+ },
3889
+ {
3890
+ "name": "extractEntities",
3891
+ "type": "function",
3892
+ "line": 45,
3893
+ "complexity": "medium"
3894
+ },
3895
+ {
3896
+ "name": "stripAlias",
3897
+ "type": "function",
3898
+ "line": 78,
3899
+ "complexity": "low"
3900
+ },
3901
+ {
3902
+ "name": "extractImports",
3903
+ "type": "function",
3904
+ "line": 88,
3905
+ "complexity": "low"
3906
+ },
3907
+ {
3908
+ "name": "extractExports",
3909
+ "type": "function",
3910
+ "line": 128,
3911
+ "complexity": "low"
3912
+ }
3913
+ ],
3914
+ "imports": [
3915
+ {
3916
+ "source": "../types",
3917
+ "names": [
3918
+ "RawEntity",
3919
+ "RawImport"
3920
+ ],
3921
+ "isLocal": true
3922
+ },
3923
+ {
3924
+ "source": "./registry",
3925
+ "names": [
3926
+ "EntityPattern",
3927
+ "LanguageParser",
3928
+ "registerParser"
3929
+ ],
3930
+ "isLocal": true
3931
+ },
3932
+ {
3933
+ "source": "../constants",
3934
+ "names": [
3935
+ "COMPLEXITY_THRESHOLDS"
3936
+ ],
3937
+ "isLocal": true
3938
+ }
3939
+ ],
3940
+ "exports": [
3941
+ "pyEntityPatterns"
3942
+ ]
3943
+ },
3944
+ {
3945
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/registry.ts",
3946
+ "lang": "js",
3947
+ "lines": 71,
3948
+ "entities": [
3949
+ {
3950
+ "name": "registerParser",
3951
+ "type": "function",
3952
+ "line": 60,
3953
+ "complexity": "low"
3954
+ },
3955
+ {
3956
+ "name": "getLanguageParser",
3957
+ "type": "function",
3958
+ "line": 69,
3959
+ "complexity": "low"
3960
+ },
3961
+ {
3962
+ "name": "EntityPattern",
3963
+ "type": "interface",
3964
+ "line": 8,
3965
+ "complexity": "low"
3966
+ },
3967
+ {
3968
+ "name": "LanguageParser",
3969
+ "type": "interface",
3970
+ "line": 19,
3971
+ "complexity": "low"
3972
+ }
3973
+ ],
3974
+ "imports": [
3975
+ {
3976
+ "source": "../types",
3977
+ "names": [
3978
+ "RawEntity",
3979
+ "RawImport"
3980
+ ],
3981
+ "isLocal": true
3982
+ }
3983
+ ],
3984
+ "exports": [
3985
+ "EntityPattern",
3986
+ "LanguageParser",
3987
+ "registerParser",
3988
+ "getLanguageParser"
3989
+ ]
3990
+ },
3991
+ {
3992
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/ruby.ts",
3993
+ "lang": "js",
3994
+ "lines": 1,
3995
+ "entities": [],
3996
+ "imports": [],
3997
+ "exports": []
3998
+ },
3999
+ {
4000
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/languages/swift.ts",
4001
+ "lang": "js",
4002
+ "lines": 1,
4003
+ "entities": [],
4004
+ "imports": [],
4005
+ "exports": []
4006
+ },
4007
+ {
4008
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/main.ts",
4009
+ "lang": "js",
4010
+ "lines": 290,
4011
+ "entities": [
4012
+ {
4013
+ "name": "color",
4014
+ "type": "function",
4015
+ "line": 29,
4016
+ "complexity": "low"
4017
+ },
4018
+ {
4019
+ "name": "getFlag",
4020
+ "type": "function",
4021
+ "line": 49,
4022
+ "complexity": "low"
4023
+ },
4024
+ {
4025
+ "name": "printHelp",
4026
+ "type": "function",
4027
+ "line": 57,
4028
+ "complexity": "low"
4029
+ },
4030
+ {
4031
+ "name": "printBanner",
4032
+ "type": "function",
4033
+ "line": 109,
4034
+ "complexity": "low"
4035
+ },
4036
+ {
4037
+ "name": "printSummary",
4038
+ "type": "function",
4039
+ "line": 125,
4040
+ "complexity": "low"
4041
+ },
4042
+ {
4043
+ "name": "printImpact",
4044
+ "type": "function",
4045
+ "line": 149,
4046
+ "complexity": "medium"
4047
+ },
4048
+ {
4049
+ "name": "dim",
4050
+ "type": "function",
4051
+ "line": 33,
4052
+ "complexity": "low"
4053
+ },
4054
+ {
4055
+ "name": "bold",
4056
+ "type": "function",
4057
+ "line": 34,
4058
+ "complexity": "low"
4059
+ },
4060
+ {
4061
+ "name": "green",
4062
+ "type": "function",
4063
+ "line": 35,
4064
+ "complexity": "low"
4065
+ },
4066
+ {
4067
+ "name": "yellow",
4068
+ "type": "function",
4069
+ "line": 36,
4070
+ "complexity": "low"
4071
+ },
4072
+ {
4073
+ "name": "red",
4074
+ "type": "function",
4075
+ "line": 37,
4076
+ "complexity": "low"
4077
+ },
4078
+ {
4079
+ "name": "cyan",
4080
+ "type": "function",
4081
+ "line": 38,
4082
+ "complexity": "low"
4083
+ }
4084
+ ],
4085
+ "imports": [
4086
+ {
4087
+ "source": "./stages/collector",
4088
+ "names": [
4089
+ "collectFiles"
4090
+ ],
4091
+ "isLocal": true
4092
+ },
4093
+ {
4094
+ "source": "./stages/parser",
4095
+ "names": [
4096
+ "parseFiles"
4097
+ ],
4098
+ "isLocal": true
4099
+ },
4100
+ {
4101
+ "source": "./stages/graph",
4102
+ "names": [
4103
+ "buildGraph"
4104
+ ],
4105
+ "isLocal": true
4106
+ },
4107
+ {
4108
+ "source": "./stages/metrics",
4109
+ "names": [
4110
+ "computeMetrics",
4111
+ "getCriticalNodes"
4112
+ ],
4113
+ "isLocal": true
4114
+ },
4115
+ {
4116
+ "source": "./stages/impact",
4117
+ "names": [
4118
+ "simulateImpact"
4119
+ ],
4120
+ "isLocal": true
4121
+ },
4122
+ {
4123
+ "source": "./stages/output",
4124
+ "names": [
4125
+ "writeOutput"
4126
+ ],
4127
+ "isLocal": true
4128
+ },
4129
+ {
4130
+ "source": "./stages/gitdiff",
4131
+ "names": [
4132
+ "getChangedEntities"
4133
+ ],
4134
+ "isLocal": true
4135
+ },
4136
+ {
4137
+ "source": "fs",
4138
+ "names": [
4139
+ "fs"
4140
+ ],
4141
+ "isLocal": false
4142
+ }
4143
+ ],
4144
+ "exports": []
4145
+ },
4146
+ {
4147
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/collector.ts",
4148
+ "lang": "js",
4149
+ "lines": 60,
4150
+ "entities": [
4151
+ {
4152
+ "name": "collectFiles",
4153
+ "type": "function",
4154
+ "line": 13,
4155
+ "complexity": "medium"
4156
+ }
4157
+ ],
4158
+ "imports": [
4159
+ {
4160
+ "source": "../constants",
4161
+ "names": [
4162
+ "IGNORE_DIRS",
4163
+ "SUPPORTED_EXTS",
4164
+ "MAX_FILE_SIZE"
4165
+ ],
4166
+ "isLocal": true
4167
+ },
4168
+ {
4169
+ "source": "fs",
4170
+ "names": [
4171
+ "fs"
4172
+ ],
4173
+ "isLocal": false
4174
+ },
4175
+ {
4176
+ "source": "path",
4177
+ "names": [
4178
+ "path"
4179
+ ],
4180
+ "isLocal": false
4181
+ }
4182
+ ],
4183
+ "exports": [
4184
+ "collectFiles"
4185
+ ]
4186
+ },
4187
+ {
4188
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/gitdiff.ts",
4189
+ "lang": "js",
4190
+ "lines": 241,
4191
+ "entities": [
4192
+ {
4193
+ "name": "getChangedEntities",
4194
+ "type": "function",
4195
+ "line": 35,
4196
+ "complexity": "low"
4197
+ },
4198
+ {
4199
+ "name": "runGitDiff",
4200
+ "type": "function",
4201
+ "line": 45,
4202
+ "complexity": "high"
4203
+ },
4204
+ {
4205
+ "name": "parseDiff",
4206
+ "type": "function",
4207
+ "line": 87,
4208
+ "complexity": "high"
4209
+ },
4210
+ {
4211
+ "name": "extractEntityFromContext",
4212
+ "type": "function",
4213
+ "line": 169,
4214
+ "complexity": "medium"
4215
+ },
4216
+ {
4217
+ "name": "buildDescription",
4218
+ "type": "function",
4219
+ "line": 206,
4220
+ "complexity": "medium"
4221
+ },
4222
+ {
4223
+ "name": "ChangedEntity",
4224
+ "type": "interface",
4225
+ "line": 7,
4226
+ "complexity": "low"
4227
+ },
4228
+ {
4229
+ "name": "GitDiffOptions",
4230
+ "type": "interface",
4231
+ "line": 14,
4232
+ "complexity": "low"
4233
+ }
4234
+ ],
4235
+ "imports": [
4236
+ {
4237
+ "source": "child_process",
4238
+ "names": [
4239
+ "execSync"
4240
+ ],
4241
+ "isLocal": false
4242
+ },
4243
+ {
4244
+ "source": "../languages/registry",
4245
+ "names": [
4246
+ "getLanguageParser"
4247
+ ],
4248
+ "isLocal": true
4249
+ },
4250
+ {
4251
+ "source": "path",
4252
+ "names": [
4253
+ "path"
4254
+ ],
4255
+ "isLocal": false
4256
+ }
4257
+ ],
4258
+ "exports": [
4259
+ "ChangedEntity",
4260
+ "GitDiffOptions",
4261
+ "getChangedEntities"
4262
+ ]
4263
+ },
4264
+ {
4265
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/graph.ts",
4266
+ "lang": "js",
4267
+ "lines": 166,
4268
+ "entities": [
4269
+ {
4270
+ "name": "buildGraph",
4271
+ "type": "function",
4272
+ "line": 11,
4273
+ "complexity": "high"
4274
+ },
4275
+ {
4276
+ "name": "makeId",
4277
+ "type": "function",
4278
+ "line": 124,
4279
+ "complexity": "low"
4280
+ },
4281
+ {
4282
+ "name": "resolvePath",
4283
+ "type": "function",
4284
+ "line": 139,
4285
+ "complexity": "low"
4286
+ }
4287
+ ],
4288
+ "imports": [
4289
+ {
4290
+ "source": "../types",
4291
+ "names": [
4292
+ "ParsedFile",
4293
+ "DepGraph",
4294
+ "DepNode",
4295
+ "DepEdge"
4296
+ ],
4297
+ "isLocal": true
4298
+ },
4299
+ {
4300
+ "source": "path",
4301
+ "names": [
4302
+ "path"
4303
+ ],
4304
+ "isLocal": false
4305
+ }
4306
+ ],
4307
+ "exports": [
4308
+ "buildGraph"
4309
+ ]
4310
+ },
4311
+ {
4312
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/impact.ts",
4313
+ "lang": "js",
4314
+ "lines": 276,
4315
+ "entities": [
4316
+ {
4317
+ "name": "simulateImpact",
4318
+ "type": "function",
4319
+ "line": 14,
4320
+ "complexity": "medium"
4321
+ },
4322
+ {
4323
+ "name": "getDirectDependents",
4324
+ "type": "function",
4325
+ "line": 110,
4326
+ "complexity": "low"
4327
+ },
4328
+ {
4329
+ "name": "getImpactLevel",
4330
+ "type": "function",
4331
+ "line": 123,
4332
+ "complexity": "low"
4333
+ },
4334
+ {
4335
+ "name": "computeRiskScore",
4336
+ "type": "function",
4337
+ "line": 138,
4338
+ "complexity": "low"
4339
+ },
4340
+ {
4341
+ "name": "getRiskLevel",
4342
+ "type": "function",
4343
+ "line": 155,
4344
+ "complexity": "low"
4345
+ },
4346
+ {
4347
+ "name": "getReason",
4348
+ "type": "function",
4349
+ "line": 170,
4350
+ "complexity": "low"
4351
+ },
4352
+ {
4353
+ "name": "getChangeRequired",
4354
+ "type": "function",
4355
+ "line": 184,
4356
+ "complexity": "medium"
4357
+ },
4358
+ {
4359
+ "name": "buildTestingPlan",
4360
+ "type": "function",
4361
+ "line": 198,
4362
+ "complexity": "low"
4363
+ },
4364
+ {
4365
+ "name": "buildRecommendations",
4366
+ "type": "function",
4367
+ "line": 227,
4368
+ "complexity": "medium"
4369
+ },
4370
+ {
4371
+ "name": "emptyReport",
4372
+ "type": "function",
4373
+ "line": 261,
4374
+ "complexity": "low"
4375
+ }
4376
+ ],
4377
+ "imports": [
4378
+ {
4379
+ "source": "../types",
4380
+ "names": [
4381
+ "DepGraph",
4382
+ "AffectedNode",
4383
+ "ImpactReport"
4384
+ ],
4385
+ "isLocal": true
4386
+ },
4387
+ {
4388
+ "source": "../constants",
4389
+ "names": [
4390
+ "MAX_BFS_DEPTH"
4391
+ ],
4392
+ "isLocal": true
4393
+ }
4394
+ ],
4395
+ "exports": [
4396
+ "simulateImpact"
4397
+ ]
4398
+ },
4399
+ {
4400
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/metrics.ts",
4401
+ "lang": "js",
4402
+ "lines": 94,
4403
+ "entities": [
4404
+ {
4405
+ "name": "computeMetrics",
4406
+ "type": "function",
4407
+ "line": 10,
4408
+ "complexity": "medium"
4409
+ },
4410
+ {
4411
+ "name": "getEntryPoints",
4412
+ "type": "function",
4413
+ "line": 43,
4414
+ "complexity": "low"
4415
+ },
4416
+ {
4417
+ "name": "getLeafNodes",
4418
+ "type": "function",
4419
+ "line": 58,
4420
+ "complexity": "low"
4421
+ },
4422
+ {
4423
+ "name": "getIsolatedNodes",
4424
+ "type": "function",
4425
+ "line": 73,
4426
+ "complexity": "low"
4427
+ },
4428
+ {
4429
+ "name": "getCriticalNodes",
4430
+ "type": "function",
4431
+ "line": 88,
4432
+ "complexity": "low"
4433
+ }
4434
+ ],
4435
+ "imports": [
4436
+ {
4437
+ "source": "../types",
4438
+ "names": [
4439
+ "DepGraph",
4440
+ "DepNode"
4441
+ ],
4442
+ "isLocal": true
4443
+ }
4444
+ ],
4445
+ "exports": [
4446
+ "computeMetrics",
4447
+ "getEntryPoints",
4448
+ "getLeafNodes",
4449
+ "getIsolatedNodes",
4450
+ "getCriticalNodes"
4451
+ ]
4452
+ },
4453
+ {
4454
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/output.ts",
4455
+ "lang": "js",
4456
+ "lines": 85,
4457
+ "entities": [
4458
+ {
4459
+ "name": "writeOutput",
4460
+ "type": "function",
4461
+ "line": 21,
4462
+ "complexity": "low"
4463
+ }
4464
+ ],
4465
+ "imports": [
4466
+ {
4467
+ "source": "../types",
4468
+ "names": [
4469
+ "DepGraph",
4470
+ "ParsedFile",
4471
+ "ImpactReport",
4472
+ "OutputJSON"
4473
+ ],
4474
+ "isLocal": true
4475
+ },
4476
+ {
4477
+ "source": "./metrics",
4478
+ "names": [
4479
+ "getEntryPoints",
4480
+ "getLeafNodes",
4481
+ "getIsolatedNodes",
4482
+ "getCriticalNodes"
4483
+ ],
4484
+ "isLocal": true
4485
+ },
4486
+ {
4487
+ "source": "fs",
4488
+ "names": [
4489
+ "fs"
4490
+ ],
4491
+ "isLocal": false
4492
+ },
4493
+ {
4494
+ "source": "path",
4495
+ "names": [
4496
+ "path"
4497
+ ],
4498
+ "isLocal": false
4499
+ }
4500
+ ],
4501
+ "exports": [
4502
+ "writeOutput"
4503
+ ]
4504
+ },
4505
+ {
4506
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/stages/parser.ts",
4507
+ "lang": "js",
4508
+ "lines": 66,
4509
+ "entities": [
4510
+ {
4511
+ "name": "parseFile",
4512
+ "type": "function",
4513
+ "line": 13,
4514
+ "complexity": "low"
4515
+ },
4516
+ {
4517
+ "name": "parseFiles",
4518
+ "type": "function",
4519
+ "line": 55,
4520
+ "complexity": "low"
4521
+ }
4522
+ ],
4523
+ "imports": [
4524
+ {
4525
+ "source": "../types",
4526
+ "names": [
4527
+ "ParsedFile",
4528
+ "RawEntity",
4529
+ "RawImport"
4530
+ ],
4531
+ "isLocal": true
4532
+ },
4533
+ {
4534
+ "source": "../languages/registry",
4535
+ "names": [
4536
+ "getLanguageParser"
4537
+ ],
4538
+ "isLocal": true
4539
+ },
4540
+ {
4541
+ "source": "fs",
4542
+ "names": [
4543
+ "fs"
4544
+ ],
4545
+ "isLocal": false
4546
+ },
4547
+ {
4548
+ "source": "path",
4549
+ "names": [
4550
+ "path"
4551
+ ],
4552
+ "isLocal": false
4553
+ }
4554
+ ],
4555
+ "exports": [
4556
+ "parseFile",
4557
+ "parseFiles"
4558
+ ]
4559
+ },
4560
+ {
4561
+ "filePath": "/Users/betopia/Desktop/Arafat/depgraph/src/types.ts",
4562
+ "lang": "js",
4563
+ "lines": 189,
4564
+ "entities": [
4565
+ {
4566
+ "name": "RawEntity",
4567
+ "type": "interface",
4568
+ "line": 8,
4569
+ "complexity": "low"
4570
+ },
4571
+ {
4572
+ "name": "RawImport",
4573
+ "type": "interface",
4574
+ "line": 22,
4575
+ "complexity": "low"
4576
+ },
4577
+ {
4578
+ "name": "ParsedFile",
4579
+ "type": "interface",
4580
+ "line": 34,
4581
+ "complexity": "low"
4582
+ },
4583
+ {
4584
+ "name": "DepNode",
4585
+ "type": "interface",
4586
+ "line": 52,
4587
+ "complexity": "low"
4588
+ },
4589
+ {
4590
+ "name": "DepEdge",
4591
+ "type": "interface",
4592
+ "line": 86,
4593
+ "complexity": "low"
4594
+ },
4595
+ {
4596
+ "name": "DepGraph",
4597
+ "type": "interface",
4598
+ "line": 100,
4599
+ "complexity": "low"
4600
+ },
4601
+ {
4602
+ "name": "AffectedNode",
4603
+ "type": "interface",
4604
+ "line": 110,
4605
+ "complexity": "low"
4606
+ },
4607
+ {
4608
+ "name": "ImpactReport",
4609
+ "type": "interface",
4610
+ "line": 132,
4611
+ "complexity": "low"
4612
+ },
4613
+ {
4614
+ "name": "OutputJSON",
4615
+ "type": "interface",
4616
+ "line": 154,
4617
+ "complexity": "low"
4618
+ }
4619
+ ],
4620
+ "imports": [],
4621
+ "exports": [
4622
+ "RawEntity",
4623
+ "RawImport",
4624
+ "ParsedFile",
4625
+ "DepNode",
4626
+ "DepEdge",
4627
+ "DepGraph",
4628
+ "AffectedNode",
4629
+ "ImpactReport",
4630
+ "OutputJSON"
4631
+ ]
4632
+ }
4633
+ ]
4634
+ }