clone-deep
Recursively (deep) clone JavaScript native types, like Object, Array, RegExp, Date as well as primitives.
mixin-deep
Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. No dependencies.
object-assign-deep
Allows deep cloning of plain objects that contain primitives, nested plain objects, or nested plain arrays.