-
Notifications
You must be signed in to change notification settings - Fork 634
Comments
Use bitcore-lib as a peerDependency#500
Use bitcore-lib as a peerDependency #500CaptEmulation wants to merge 5 commits intobitpay:master from
Conversation
5eb2dac to
ffef84a
Compare
CaptEmulation
commented
Mar 27, 2017
re: the travis failures on node v0.10.25 which runs with npm 1.x. Can reproduce locally. They do not occur for me locally on v0.10.48 which runs with npm 2.x. So it appears that peerDependencies only really works with >= npm2. Installing bitcore-lib on the side on npm1 just leads to the duplicate bitcore-lib problem. 😞
So are node 0.10.x and npm 1 still supported? These versions have been EOL since last year: https://github.com/nodejs/LTS#lts-schedule1
peerDependencies give you the control of enabling better control of runaway copies of installed modules as well as the install time version checks. The existing duplication check code can remain to cover issues of projects pulling in other projects that themselves have a hard dependency on bitcore-lib.
b7f83a0 to
7e34c41
Compare
Uh oh!
There was an error while loading. Please reload this page.
One wrinkle to using the bitcore stack is the obvious need to have a singleton
bitcore-lib. Thebitcoin-libpackage hosts thebitcoindlibrary and there are good reasons to not wanting to have multiplebitcoindinstances running on the same machine.However, I am not a fan of the runtime check and would rather have all packages be declaring
bitcoin-libinpeerDependencies. This way the enclosing package can specify whatever version ofbitcoin-libit wants andnpmwill inform user if there is an unmet dependency at install time rather than run time.I have a working example of
bitcore-librunning as a peerDependency at bitcore-docker-build which is also running testnet at bitcore.soapbubble.online/insightI also updated
bitcore-libto 0.14 becausebitcore-wallet-servicehas already done so and I figured if it was good enough forbitcoin-wallet-serviceit's good enough for everything else 😄