I have a node.js project. In this project I have dependency A, and dependency B, also I noticed that dependency A inside it's dependencies has dependency B, so my question is should I install dependency B or I can just use it from dependency A ?
You can, but...
What happens if dependency A no longer has the dependency on B?
For this reason, you should add as dependencies all packages you require in your code.
Edit
Further points to consider:
Your code has been build for version 1.0.0 of the code, and A has upgraded the version of B required to 2.0.0 of the code.
Assuming dependency B follows SEMVER, major breaking changes will have occured between version 1.0.0 and version 2.0.0. If B doesn't follow SEMVER, then breaking changes could apply at any moment.
NPM (Yarn, and other package managers) will take care of this, and provide the correct version for the different packages and the project as a whole. This means version 1.0.0 of package B will be put directly in your node_modules folder, whilst version 2.0.0 of package B is put into the node_modules folder for package A.
When including a library, framework, or the likes, it is common to use packages that library/framework use directly even though you haven't put them in your references.
This should be kept to a minimum, and only according to the library/framework documentation as it can cause complications if you ever need to upgrade the library/framework (which you should do frequently).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With