depgraph-core 1.0.3 → 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.
- package/.vscode/depgraph-output.json +4634 -0
- package/README.md +32 -5
- package/depgraph-output.json +404 -47
- package/depgraph.js +1295 -74
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -3,22 +3,49 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/depgraph-core)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
**DepGraph Core** is a powerful static analysis CLI that maps code dependencies and simulates the ripple-effect impact of changes
|
|
6
|
+
**DepGraph Core** is a powerful static analysis CLI that maps code dependencies and simulates the ripple-effect impact of changes across multi-language codebases — supporting JavaScript, TypeScript, Python, Go, C#, Java, Kotlin, PHP, Ruby, and Swift. By parsing imports, exports, functions, classes, interfaces, and methods, DepGraph constructs a comprehensive dependency graph, computes centrality metrics, and generates impact simulations — helping you prevent regression bugs in large systems.
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
## 🚀 Key Features
|
|
11
11
|
|
|
12
|
-
- 🔍 **
|
|
13
|
-
-
|
|
12
|
+
- 🔍 **Multi-Language AST & Regex Code Parsing**: Comprehensive native extractors for **10 languages**:
|
|
13
|
+
- **JavaScript / TypeScript / React** (`.js`, `.jsx`, `.ts`, `.tsx`, `.mjs`, `.cjs`)
|
|
14
|
+
- **Python** (`.py`)
|
|
15
|
+
- **Go** (`.go`)
|
|
16
|
+
- **C#** (`.cs`)
|
|
17
|
+
- **Java** (`.java`)
|
|
18
|
+
- **Kotlin** (`.kt`, `.kts`)
|
|
19
|
+
- **PHP** (`.php`)
|
|
20
|
+
- **Ruby** (`.rb`)
|
|
21
|
+
- **Swift** (`.swift`)
|
|
22
|
+
- 🕸️ **Dependency Graph Reconstruction**: Resolves local imports, aliases, namespace packages, and cross-file relationships to build a full topology map of your codebase.
|
|
14
23
|
- 📈 **Metrics & Centrality Analysis**: Calculates in-degree, out-degree, and centrality scores for every entity to automatically identify **Critical Nodes**.
|
|
15
24
|
- 💥 **Impact Simulation Engine**: Runs a reverse BFS to model the cascading impact of changing a specific function or class. Generates a risk score, lists affected nodes, and provides an actionable testing plan.
|
|
16
|
-
- 🧬 **Git Diff Integration**: Automatically detects changed entities from your git history (uncommitted changes, a specific commit, or a branch comparison) and runs impact simulation on every changed
|
|
25
|
+
- 🧬 **Git Diff Integration**: Automatically detects changed entities from your git history (uncommitted changes, a specific commit, or a branch comparison) across all supported languages and runs impact simulation on every changed symbol.
|
|
17
26
|
- 🖥️ **Rich CLI Interface**: Colorized, human-readable output with a `--no-color` flag for CI/CD pipelines.
|
|
18
27
|
- 💾 **Detailed JSON Output**: Exports a comprehensive report containing graph structure, metrics, and simulation results.
|
|
19
28
|
|
|
20
29
|
---
|
|
21
30
|
|
|
31
|
+
## 🌐 Supported Languages
|
|
32
|
+
|
|
33
|
+
DepGraph Core provides native parsing and symbol extraction across 10 major programming languages:
|
|
34
|
+
|
|
35
|
+
| Language | Extensions | Extracted Entities | Import & Resolution Features |
|
|
36
|
+
| :--- | :--- | :--- | :--- |
|
|
37
|
+
| **JavaScript / TypeScript** | `.js`, `.jsx`, `.ts`, `.tsx`, `.mjs`, `.cjs` | Functions, Async functions, Classes, Methods, Interfaces, Type aliases, React Components, Hooks, Express routes | ESM (`import`/`export`), dynamic `import()`, CommonJS (`require()`, `module.exports`), named & default imports |
|
|
38
|
+
| **Python** | `.py` | Functions, Async functions, Classes, Methods | `import x`, `from x import y`, aliases (`as`), wildcard imports (`*`), `__all__` exports |
|
|
39
|
+
| **Go** | `.go` | Functions, Struct methods (pointer & value receivers), Structs, Interfaces | Single & grouped `import (...)`, import aliases, exported symbols (capitalized identifier convention) |
|
|
40
|
+
| **C#** | `.cs` | Classes, Records, Interfaces, Structs, Enums, Methods, Namespaces | Single & global `using`, static imports (`using static`), using aliases, public/internal exports |
|
|
41
|
+
| **Java** | `.java` | Classes, Interfaces, Records, Enums, Methods, Constructors | Single imports, wildcard imports (`.*`), static imports (`import static`), package tracking, public/protected exports |
|
|
42
|
+
| **Kotlin** | `.kt`, `.kts` | Classes (data, sealed, abstract, inner), Objects, Companion objects, Interfaces, Functions, Suspend functions | Direct imports, wildcard imports (`.*`), import aliases (`as`), packages |
|
|
43
|
+
| **PHP** | `.php` | Classes (abstract, final), Interfaces, Traits, Enums, Functions, Methods | Namespaces, single & grouped `use` statements, `use ... as` aliases, `require`/`include` file paths |
|
|
44
|
+
| **Ruby** | `.rb` | Classes, Modules, Instance methods, Class methods (`def self.`), `attr_accessor`/`reader`/`writer` | `require`, `require_relative`, `load`, `include`, `extend`, `prepend` |
|
|
45
|
+
| **Swift** | `.swift` | Classes, Structs, Enums, Protocols, Actors, Extensions (including `where` constraints), Functions, Initializers | Module imports, sub-module imports, kind-specifier imports (`import class/func/...`) |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
22
49
|
## 📦 Installation
|
|
23
50
|
|
|
24
51
|
### Global (recommended)
|
|
@@ -195,7 +222,7 @@ Running impact simulation...
|
|
|
195
222
|
✅ Output written to ./depgraph-output.json
|
|
196
223
|
```
|
|
197
224
|
|
|
198
|
-
**Supported languages for diff parsing:** JavaScript/TypeScript, Python, Go
|
|
225
|
+
**Supported languages for diff parsing:** All 10 languages (JavaScript/TypeScript, Python, Go, C#, Java, Kotlin, PHP, Ruby, and Swift) are fully supported via shared entity pattern registries and fallbacks.
|
|
199
226
|
|
|
200
227
|
---
|
|
201
228
|
|