I've got a project that uses grunt-contrib-jasmine@0.7.0, which depends on grunt-lib-phantomjs@0.6.0. Recently, my grunt tasks that use PhantomJS started failing for seemingly no reason. I spent a lot of time troubleshooting the issue, and I found that some of my node packages' transitive dependencies changed without the main packages updating their version numbers.
When my builds were working, grunt-lib-phantomjs@0.6.0 depended on phantomjs@1.9.7-15. When my builds started failing, grunt-lib-phantomjs@0.6.0 now depends on phantomjs@1.9.15.
So in the future, please reference an exact version number in your package.json, and update your node module's version number when your dependency versions update. Thanks
No, that's not how the Node eco-system works. If you want to guarantee the same transient dependencies you need to ensure it yourself, either through shrinkwrap or committing your dependencies.
I've got a project that uses grunt-contrib-jasmine@0.7.0, which depends on grunt-lib-phantomjs@0.6.0. Recently, my grunt tasks that use PhantomJS started failing for seemingly no reason. I spent a lot of time troubleshooting the issue, and I found that some of my node packages' transitive dependencies changed without the main packages updating their version numbers.
When my builds were working, grunt-lib-phantomjs@0.6.0 depended on phantomjs@1.9.7-15. When my builds started failing, grunt-lib-phantomjs@0.6.0 now depends on phantomjs@1.9.15.
So in the future, please reference an exact version number in your package.json, and update your node module's version number when your dependency versions update. Thanks