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 setuptools
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.