Lockness Monorepo - Dependency Architecture
Overview
The Lockness monorepo contains 26 packages with the following dependency structure:
✅ No Circular Dependencies
The dependency graph is acyclic (DAG).
Architecture Layers
Foundation Layer
@lockness/contract: Core contracts, types, and decorators@lockness/hono: Hono bridge (wrapper aroundnpm:hono)
Implementation Layer
@lockness/container: DI container implementation- Feature packages:
auth,session,cache,queue, etc.
Orchestration Layer
@lockness/core: Main framework orchestrator (re-exports everything)
Complete Dependency Tree
auth (v0.1.30)
├── contract (v0.1.30)
│ └── hono (v0.1.30)
└── hono (v0.1.30)
auth-provider (v0.1.30)
cache (v0.1.30)
├── container (v0.1.30)
│ └── contract (v0.1.30)
└── contract (v0.1.30)
└── hono (v0.1.30)
cli (v0.1.30)
└── contract (v0.1.30)
└── hono (v0.1.30)
container (v0.1.30)
└── contract (v0.1.30)
└── hono (v0.1.30)
contract (v0.1.30)
└── hono (v0.1.30)
core (v0.1.30)
├── container (v0.1.30)
│ └── contract (v0.1.30)
├── contract (v0.1.30)
│ └── hono (v0.1.30)
├── deprecation-contracts (v0.1.30)
└── hono (v0.1.30)
deprecation-contracts (v0.1.30)
devtools (v0.1.30)
└── hono (v0.1.30)
drizzle (v0.1.30)
events (v0.1.30)
hono (v0.1.30)
inertia (v0.1.30)
└── hono (v0.1.30)
init (v0.1.30)
logger (v0.1.30)
mail (v0.1.30)
markdown (v0.1.30)
├── hono (v0.1.30)
└── ui (v0.1.30)
└── hono (v0.1.30)
openapi (v0.1.30)
├── contract (v0.1.30)
│ └── hono (v0.1.30)
└── hono (v0.1.30)
queue (v0.1.30)
session (v0.1.30)
└── hono (v0.1.30)
socialite (v0.1.30)
└── hono (v0.1.30)
sse (v0.1.30)
storage (v0.1.30)
ui (v0.1.30)
└── hono (v0.1.30)
upgrade (v0.1.30)
validator (v0.1.30)
└── hono (v0.1.30)
Package Details
@lockness/auth
Version: 0.1.30
Dependencies:
├── @lockness/hono (v0.1.30)
└── @lockness/contract (v0.1.30)
└── @lockness/hono (v0.1.30)
@lockness/auth-provider
Version: 0.1.30
Dependencies: None
@lockness/cache
Version: 0.1.30
Dependencies:
├── @lockness/contract (v0.1.30)
│ └── @lockness/hono (v0.1.30)
└── @lockness/container (v0.1.30)
└── @lockness/contract (v0.1.30)
@lockness/cli
Version: 0.1.30
Dependencies:
└── @lockness/contract (v0.1.30)
└── @lockness/hono (v0.1.30)
@lockness/container
Version: 0.1.30
Dependencies:
└── @lockness/contract (v0.1.30)
└── @lockness/hono (v0.1.30)
@lockness/contract
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/core
Version: 0.1.30
Dependencies:
├── @lockness/hono (v0.1.30)
├── @lockness/contract (v0.1.30)
│ └── @lockness/hono (v0.1.30)
├── @lockness/container (v0.1.30)
│ └── @lockness/contract (v0.1.30)
└── @lockness/deprecation-contracts (v0.1.30)
@lockness/deprecation-contracts
Version: 0.1.30
Dependencies: None
@lockness/devtools
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/drizzle
Version: 0.1.30
Dependencies: None
@lockness/events
Version: 0.1.30
Dependencies: None
@lockness/hono
Version: 0.1.30
Dependencies: None
@lockness/inertia
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/init
Version: 0.1.30
Dependencies: None
@lockness/logger
Version: 0.1.30
Dependencies: None
@lockness/mail
Version: 0.1.30
Dependencies: None
@lockness/markdown
Version: 0.1.30
Dependencies:
├── @lockness/ui (v0.1.30)
│ └── @lockness/hono (v0.1.30)
└── @lockness/hono (v0.1.30)
@lockness/openapi
Version: 0.1.30
Dependencies:
├── @lockness/contract (v0.1.30)
│ └── @lockness/hono (v0.1.30)
└── @lockness/hono (v0.1.30)
@lockness/queue
Version: 0.1.30
Dependencies: None
@lockness/session
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/socialite
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/sse
Version: 0.1.30
Dependencies: None
@lockness/storage
Version: 0.1.30
Dependencies: None
@lockness/ui
Version: 0.1.30
Dependencies:
└── @lockness/hono (v0.1.30)
@lockness/upgrade
Version: 0.1.30
Dependencies: None
@lockness/validator
Version: 0.1.30
Dependencies:
├── @lockness/hono (v0.1.30)
└── @lockness/hono/zod-validator (v?)
Architecture Rules
- No package should depend on
@lockness/core(except for end-user applications) @lockness/contracthas zero internal dependencies (only external:@lockness/hono,@std/*)- Feature packages depend on
@lockness/contractfor types and decorators @lockness/coreis the orchestrator that assembles and re-exports everything