Merge package manifests with explicit dependency, script, and field precedence.
JSON objects are merged by key, dependency maps combine, and scalar conflicts use the selected source precedence. Arrays and scripts follow an explicit replace-or-combine policy.
Input1: {"name":"app","dependencies":{"react":"^18.0.0"}}
Input2: {"dependencies":{"lodash":"^4.17.0"},"devDependencies":{"vitest":"^1.0.0"}}
Original: {
"name": "app",
"dependencies": {
"react": "^18.0.0",
"lodash": "^4.17.0"
},
"devDependencies": {
"vitest": "^1.0.0"
}
}
Modified: # Merge Summary
Added keys: devDependencies
Updated keys: dependencies
Monorepos, release manifests, and project templates merge package metadata.