-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Upcoming changes to npm / node-semver #1186
Comments
Note that http://gruntjs.com/plugins currently uses Are we using it, internally, anywhere else? |
We use it to display the expected grunt version when dynamically building READMEs. |
I think we should either remove it from Since only 1 instance of Grunt runs per Gruntfile adding to Creating a script that each of the contrib plugins runs upon install to notify the user of a possible incompatibility seems like the best approach, IMO. I wrote a proof of concept here: https://github.com/shama/peerdep |
As for the versioning, I think we should be super explicit and change |
Noting that the change in behavior of the caret operator was reverted: npm/node-semver@107ed7b |
With that this can now be closed as we have an issue opened already for handling peer dependencies: #1116 |
There are two changes coming to npm that may require some changes in the way we specify grunt dependencies.
The first is the removal of
peerDependencies
. As you might already know, Grunt plugins typically specify their relationship to Grunt itself as a peerDep, so we'll need to figure out their new relationship.The second change is an update to the behavior of the caret operator. Depending on our decision above we might also want to change this.
Regarding peerDependencies, we have at least three options:
I'm not entirely confident with my understanding of the consequences of each of these choices, so I'm can't offer my opinion on which of these I think would be best.
Regarding the caret change:
The new behavior locks
^0.4.0
into0.4.0
only, whereas it used to be equal to0.4.x
. So, if we'd like to continue having that same functionality as before, then I'd suggest we use0.4.x
. A similar alternative is~0.4.0
, which differs in that it also pulls in prereleases.The text was updated successfully, but these errors were encountered: