@eldrforge/tree-core 0.1.6 → 0.1.8
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/guide/index.md +56 -0
- package/package.json +5 -4
package/guide/index.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# @eldrforge/tree-core - Agentic Guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Dependency graph algorithms for monorepo package analysis. Provides topological sorting, cycle detection, and dependency resolution.
|
|
6
|
+
|
|
7
|
+
## Key Features
|
|
8
|
+
|
|
9
|
+
- **Dependency Graph** - Build and analyze package dependency graphs
|
|
10
|
+
- **Topological Sort** - Order packages by dependencies
|
|
11
|
+
- **Cycle Detection** - Detect circular dependencies
|
|
12
|
+
- **Dependency Resolution** - Resolve package dependencies
|
|
13
|
+
- **Change Impact** - Determine affected packages
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { DependencyGraph, buildDependencyGraph } from '@eldrforge/tree-core';
|
|
19
|
+
|
|
20
|
+
// Build dependency graph
|
|
21
|
+
const graph = await buildDependencyGraph('/path/to/monorepo');
|
|
22
|
+
|
|
23
|
+
// Get topological order
|
|
24
|
+
const order = graph.getTopologicalOrder();
|
|
25
|
+
|
|
26
|
+
// Find affected packages
|
|
27
|
+
const affected = graph.getAffectedPackages(['package-a']);
|
|
28
|
+
|
|
29
|
+
// Check for cycles
|
|
30
|
+
const hasCycles = graph.hasCycles();
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
|
|
35
|
+
- @eldrforge/git-tools - Git operations
|
|
36
|
+
- @eldrforge/shared - Shared utilities
|
|
37
|
+
|
|
38
|
+
## Package Structure
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
src/
|
|
42
|
+
├── dependencyGraph.ts # Dependency graph implementation
|
|
43
|
+
├── types.ts # Type definitions
|
|
44
|
+
└── index.ts
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Key Exports
|
|
48
|
+
|
|
49
|
+
- `DependencyGraph` - Dependency graph class
|
|
50
|
+
- `buildDependencyGraph()` - Build graph from filesystem
|
|
51
|
+
- `getTopologicalOrder()` - Get build order
|
|
52
|
+
- `getAffectedPackages()` - Find affected packages
|
|
53
|
+
- `hasCycles()` - Detect circular dependencies
|
|
54
|
+
- `getDependents()` - Get packages that depend on target
|
|
55
|
+
- `getDependencies()` - Get package dependencies
|
|
56
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eldrforge/tree-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Dependency graph algorithms for monorepo package analysis",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"homepage": "https://github.com/grunnverk/tree-core#readme",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@eldrforge/git-tools": "^0.1.
|
|
37
|
-
"@eldrforge/shared": "^0.1.
|
|
36
|
+
"@eldrforge/git-tools": "^0.1.22",
|
|
37
|
+
"@eldrforge/shared": "^0.1.10"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@eslint/eslintrc": "^3.3.1",
|
|
@@ -50,10 +50,11 @@
|
|
|
50
50
|
"vitest": "^4.0.16"
|
|
51
51
|
},
|
|
52
52
|
"engines": {
|
|
53
|
-
"node": ">=
|
|
53
|
+
"node": ">=24.0.0"
|
|
54
54
|
},
|
|
55
55
|
"files": [
|
|
56
56
|
"dist",
|
|
57
|
+
"guide",
|
|
57
58
|
"README.md",
|
|
58
59
|
"LICENSE"
|
|
59
60
|
]
|