Yes, a package.json is good to get the required dependencies. This article is about possible dependencies that help in cases where you all the possible would mean a huge load on the system.
If you can use a package without them then they aren't really dependencies are they?
True, how should those things be called?
A good example is Consolidate, which provides a consistent API to various template libraries. You wouldn't want to force installation of all the unused libraries.