It seems like it was less the developer than the package system.
How one developer just broke Node, Babel and thousands of projects
11–15 of 15 posts
Re: How one developer just broke Node, Babel and thousands of projects
#12Re: How one developer just broke Node, Babel and thousands of projects
#13One mechanism that could fix that problem, and the left-pad problem is to allow defining a package substitute in your root package.json file. Then you could swap out the dependencies of your dependencies.
packageReplace : [{source_name: 'left-pad', source_version: '1.0.1', target: 'https://github.com/foo/bar' }]
...something like that
Re: How one developer just broke Node, Babel and thousands of projects
#14Re: How one developer just broke Node, Babel and thousands of projects
#15I completely agree with the developer here, I also think npm crossed the line by republishing the module.
Yeah, though I'm curious what the proper solution would have been. It seems to me that once published to NPM there should be some process for deprecating a module that is then "unpublished"... rather than just breaking every module that uses it as a dependency instantly. They could spawn automatic emails to all dependent module owners about the hard deprecation and give them 7-30 days to replace the module before it'…