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

925 B

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.