Reusable and Extendable D3 Charts
537.io
537.io
While it may introduce some dependency issues, breaking out d3 into modules makes it easier to write/maintain tests for everything. Hopefully this makes the d3 universe more robust, but only time will tell.
There's also tons of good D3 tutorials on https://www.dashingd3js.com/, if you're looking for more of this kind of stuff...