rec-js (npm): Rec is a simple JavaScript library for working with JSON. It's a good foundation to implement undo, redo, diffing, and event systems. 
Keywords: undo|redo|diff|event