Tengo un proyecto node.js En este proyecto tengo la dependencia A y la dependencia B , también noté que la dependencia A dentro de sus dependencias tiene la dependencia B , entonces mi pregunta es ¿debería instalar la dependencia B o simplemente puedo usarla desde la dependencia A ?
Puedes, pero...
¿Qué sucede si la dependencia A ya no tiene la dependencia de B?
Por esta razón, debe agregar como dependencias todos los paquetes que requiera en su código.
Editar
Otros puntos a considerar:
Su código se ha creado para la versión 1.0.0 del código y A ha actualizado la versión de B necesaria a la 2.0.0 del código.
Suponiendo que la dependencia B siga a SEMVER, se habrán producido cambios importantes entre la versión 1.0.0 y la versión 2.0.0. Si B no sigue SEMVER, entonces podrían aplicarse cambios importantes en cualquier momento.
NPM (Yarn y otros administradores de paquetes) se encargarán de esto y proporcionarán la versión correcta para los diferentes paquetes y el proyecto en su conjunto. Esto significa que la versión 1.0.0 del paquete B se colocará directamente en la carpeta node_modules , mientras que la versión 2.0.0 del paquete B se colocará en la carpeta node_modules del paquete A.
Cuando se incluye una biblioteca, un marco o similares, es común usar paquetes que la biblioteca/el marco usen directamente aunque no los haya incluido en sus referencias.
Esto debe mantenerse al mínimo, y solo de acuerdo con la documentación de la biblioteca/marco, ya que puede causar complicaciones si alguna vez necesita actualizar la biblioteca/marco (que debe hacer con frecuencia).