@startuml
skinparam backgroundColor #FFFFFF
skinparam shadowing false
skinparam componentStyle rectangle
skinparam packageStyle rectangle
skinparam ArrowColor #000000
skinparam DefaultFontColor #000000
skinparam NoteFontColor #000000
skinparam DefaultFontName Inter
skinparam DefaultFontSize 12

title Demo App Next.js Dependency (Before)

package "apps/demo" {
  component "package.json\nnext: 16.0.10" as DemoPkg #FDE68A
  component "pnpm add next@^16.0.10" as InstallCmd #E5E7EB
}

component "Dependency resolution" as Resolver #E2E8F0
component "Installed Next.js runtime" as Runtime #F3F4F6

InstallCmd --> DemoPkg : reads dependency spec
DemoPkg --> Resolver : exact 16.0.10 only
Resolver --> Runtime : resolves 16.0.10

note right of DemoPkg
Pinned exact patch version.
No automatic patch drift in range.
end note
@enduml
