-
Notifications
You must be signed in to change notification settings - Fork 280
Lock Dredd Transactions' dependencies instead of Dredd's #1184
Conversation
This allows to drop most of the changes from #1168 as the customized shrinkwrap magic has moved to Dredd Transactions, lowering the impact regarding hardwired dependencies (see #1168 (comment))
So apparently, locally npm is still able to somehow magically evaluate that I'm giving up on this broken tool. I don't know about Yarn's lock file, but my impression from both package-lock.json and npm-shrinkwrap.json is that they do a lot of stuff, mostly random or magic, but they rarely lock anything the way I need it. I don't think a lock file is really needed on Dredd, it is a nice to have. So will add a commit here removing it. Hopefully that will bring an end to all this hassle with |
The commit is there. So the current state is - installing Dredd from npm shouldn't compile For local installations (cloning Dredd's repo and executing Completely removing lock file from Dredd at least avoids the need for preventing npm to regularly put the |
Scoping this down to dredd-transactions, while not perfect, is definitely a nice improvement. Thank you! Another approach you could investigate is adding Your earlier PR reminded me of this problem so I took a shot at what, IMHO, the proper solution would be: making protagonist truly optional. This would require a breaking change to |
I'm also wondering whether a certain combination of bundling dependencies wouldn't get rid of the compilation altogether. |
🎉 This PR is included in version 5.4.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
So if I install Dredd now, it takes much less time and generates a smaller lock file. However, if I install it as a dev dependency of something, the compilation appears with all subsequent npm manipulations:
😞 This really isn't a robust solution to the problem. I hope it's gonna be temporary, I'm done with hacks for now, this should be solved on the level of the drafter packages. |
🚀 Why this change?
It should make this problem smaller.
📝 Related issues and Pull Requests
✅ What didn't I forget?
npm run lint