object-assign-deep
Allows deep cloning of plain objects that contain primitives, nested plain objects, or nested plain arrays.
tree-kit
Tree utilities which provides a full-featured extend and object-cloning facility, and various tools to deal with nested object structures.