Files
marketplaces/docs/architecture/foundation/adr/ADR-003-import-boundaries-and-dependency-direction.md

40 lines
925 B
Markdown
Raw Normal View History

# ADR-003: Import Boundaries and Dependency Direction
Status: Accepted
Date: 2026-07-03
## Context
Without strict dependency direction, large Angular codebases accumulate circular dependencies and feature coupling that block reuse.
## Decision
Enforce one-way dependency flow:
Website/Builder/Backoffice -> Pages -> Layouts -> Widgets -> UI Library -> Shared -> Core
Additional constraints:
- No circular dependencies.
- No feature importing another feature directly.
- Core does not depend on any feature.
- Shared does not depend on features.
- UI Library does not depend on features.
## Consequences
Positive:
- Stable architecture evolution.
- Easier testability and extraction.
- Faster onboarding with clear module contracts.
Negative:
- Some existing direct imports must be replaced by contracts.
## Compliance Requirements
- Enforce via lint boundaries and dependency checks.
- Violations block merge.