README
Marionette Zombie Detector
Helps find zombie views in Marionette
Install
$ npm install marionette-zombie-detector
Install the zombie detector before you use any Marionette Views:
require('marionette-zombie-detector').install(require('backbone.marionette'));
Watch for Zombies
Now, open your console and look for "Zombie Detected" information messages.
Quick Demo
Watch the console as zombies are detected:
Note
This code is not intended for production purposes, only for finding zombies during development.
How does it work?
The zombie detector uses two methods of detection:
- Monitor the
el
element on each Marionette View. When theel
is detached from the DOM, it ensures that the corresponding View has been destroyed and logs a leak if it has not. - Tracks all EventTarget
addEventListener
andremoveEventListener
invocations and ensures that when the View is removed from the DOM, all the event listeners have been removed from theel
element and all it's child elements. In other words, when the view's subtree is removed from the DOM, no event listeners remain on the detached subtree.
Licence
MIT