Significant changes to deal with shrinkwrap and npm write-once.