deepmerge

A library for deep (recursive) merging of Javascript objects

object-copy

Copy static properties, prototype properties, and descriptors from one object to another.