@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 (After)

package "apps/demo" {
  component "package.json\nnext: ^16.0.10" as DemoPkg #86EFAC
  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 : semver range (^16.0.10)
Resolver --> Runtime : resolves latest 16.x >=16.0.10

note right of DemoPkg
Allows non-breaking 16.x patch/minor updates.
Keeps major version fixed at 16.
end note
@enduml
