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.
MyPackage-Core
MyPackage-Db-Mongo
MyPackage-Db-Redis
etc... much they way people do bower modules that are meant to extend angularjs. – Mike May 7 '14 at 15:25package.json
that has been solved in other package managers. – imiric May 7 '14 at 15:47