object-merge

Merges JavaScript objects recursively without altering the objects merged.