Ho una domanda simile a questa , ma non è la stessa cosa.
Vorrei che l'utente della mia app lo installasse con qualsiasi dipendenza sia necessaria per il modo in cui vorrebbe usarlo. Ad esempio, se vogliono persistere su MongoDB, verranno installate solo le librerie relative a Mongo, ma se vogliono persistere su Redis, verranno installate solo le librerie relative a Redis. Non voglio farli scaricare e installare librerie che non useranno.
So che posso farlo per scopi di sviluppo devDependencies, ma questo va oltre. Come dice la risposta alla domanda sopra, questo è più strettamente correlato ai profili di Python setuptools extras_requiree Clojure leiningen. Qualcosa del genere in npm? Credo davvero che devDependenciesdovrebbe essere il devprofilo di un modo più versatile di specificare le dipendenze.
package.jsonrisolta in altri gestori di pacchetti.
MyPackage-CoreMyPackage-Db-MongoMyPackage-Db-Redisecc ... in modo molto simile a come fanno le persone a formare moduli che hanno lo scopo di estendere angularjs .