fast-deep-equal
                                
                                 fast-deep-equal copied to clipboard
                                
                                    fast-deep-equal copied to clipboard
                            
                            
                            
                        Break cycles
Comparing two object graphs with cycles sends this library into recursive tail-spin.
Having tested for this issue with both deep-equal, fast-deep-equal and deep-eql, I found that the only library where this works, is deep-eql, so you might consider referencing their approach.
If you don't wish to support object graphs with cycles, perhaps this should be explicitly omitted and noted in the documentation, since it creates pretty serious issues in test-frameworks etc.?
I don't mind supporting cycles with some extra option, as long as it doesn't affect performance in the main use case (it can be difficult though). Documenting would definitely be helpful.
You could try using https://www.npmjs.com/package/cyclical-json but you will need to fork to create stable order for keys.
I ended up using deep-eql - I was just reporting the issue to make it known, like a good citizen ;-)
In branch cycles