New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use peerDependencies instead of dependencies for express, koa, ... #5
Comments
Hi, @kapouer thanks for suggesting this. I have never used |
I did some testing with Currently I use Grant in project that uses express version Same for the other 4 express middlewares that I use, if only one of these modules is added as a dependency to the consumer project and have a version mismatch, the install will fail. No idea how's the situation with different versions of Koa, but then again I'm actually requiring these modules inside the Koa consumer implementation. Recently I added support for Hapi, and that's the only consumer module I'm not requiring directly in my code. |
@kapouer this should be fixed in https://github.com/simov/grant/releases/tag/3.0.0 or at least that way you'll get only the modules required for your web framework of choice. |
perfect ! |
@kapouer checkout the latest changelog here https://github.com/simov/grant/blob/master/CHANGELOG.md - express, koa and hapi are set as peerDependencies in their respective meta modules, also session and body-parser middlewares are no longer required internally, so the user is free to use any session store. |
npm3 no longer install peerDependencies. Is there a workaround ? |
NPM3 shifts the responsibility for fulfilling peer dependencies from library framework / plugin maintainers to application authors, in that line of thinking you now just get a warning if the dependency is missing. As a consumer of this module you are responsible for specifying in your package.json which version of Koa your app/module is going to use. Essentially almost nothing have changed, you just have to make sure you explicitly specify Koa as dependency in your app. |
ok thanks |
You actually do not want to install express, for example - but peerDependencies allows one to check the installed version of express is compatible.
The text was updated successfully, but these errors were encountered: