I have a similar question to this, but not quite the same.
I would like for the user of my app to install it with whatever dependencies are needed for the way he would want to use it. So, for example, if they want to persist to MongoDB, then only Mongo-related libraries will be installed, but if they want to persist to Redis, then only Redis-related libraries will be installed. I don't want to make them download and install libraries they won't be using.
I know I can do that for development purposes with
devDependencies, but this goes farther than that. As the answer in the question above says, this is more closely related to Python's
extras_require and Clojure's
leiningen profiles. Anything like that in npm? I really feel like
devDependencies should be a
dev profile of a more versatile way of specifying dependencies.