feat: add @automaker/dependency-resolver package

ELIMINATES CODE DUPLICATION: This file was duplicated in both server and UI (222 lines each).

- Extract feature dependency resolution using topological sort
- Implement Kahn's algorithm with priority-aware ordering
- Detect circular dependencies using DFS
- Check for missing and blocking dependencies
- Provide helper functions (areDependenciesSatisfied, getBlockingDependencies)

This package will replace:
- apps/server/src/lib/dependency-resolver.ts (to be deleted)
- apps/ui/src/lib/dependency-resolver.ts (to be deleted)

Impact: Eliminates 222 lines of duplicated code.

Dependencies: @automaker/types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Kacper
2025-12-19 23:30:57 +01:00
parent 27b80b3e08
commit 8b31039557
4 changed files with 273 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
{
"name": "@automaker/dependency-resolver",
"version": "1.0.0",
"description": "Feature dependency resolution for AutoMaker",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc",
"watch": "tsc --watch"
},
"keywords": ["automaker", "dependency", "resolver"],
"author": "",
"license": "MIT",
"dependencies": {
"@automaker/types": "^1.0.0"
},
"devDependencies": {
"@types/node": "^22.10.5",
"typescript": "^5.7.3"
}
}