-
Notifications
You must be signed in to change notification settings - Fork 147
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
:link dependencies #34
Conversation
# Unresolved questions | ||
|
||
Not sure how we should handle actually publishing packages with such | ||
dependencies, the existing behavior for `file:` types? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it could be safe to say that the link:
prefix could only be used on private package (private:true
in package.json). It will avoid a lot of difficulties and weird decision to manage all the publish/install case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯 that would completely remove my concern about this change infecting the ecosystem.
In your point of view, how dependencies of the linked package should be managed?
|
Is this going to be a necessary feature if we add workspaces by merging Lerna into Yarn? |
Maybe I'm just being dense, @thejameskyle, but Lerna appears to be concerned only with managing separate packages contained within a monorepo, where those modules are intended to be published independently without any dependencies between them, and I don't see how it would help with the use case where a monorepo contains many modules which are dependencies of each other. Am I missing something? |
Lerna very much is designed around having cross-dependencies. The |
Ah, I'd completely misunderstood how Lerna works. Thanks for the pointer @thejameskyle. For anyone curious about @thejameskyle's mention of merging the projects, this appears to come from yarnpkg/yarn#946 (comment). |
Bumping this to see if there is a chance it might get reviewed/accepted or if I should just close this for low interest? |
The highest priority for Yarn is working through issues in existing functionality. If you want RFCs to be accepted sooner you can come help us out over here: https://github.com/yarnpkg/yarn/issues |
this... needs to be merged in. it's so essential for mono repo approaches! |
So we're actually finalizing a spec (which I'll open up an RFC for) for what "Yarn Workspaces" will look like, which will add monorepo support to Yarn. Once we have workspaces I don't see much of a use case for this RFC. I'm going to close it with the promise that we'll have something better. |
Actually we should add this, it has valid use cases even with workspaces and npm is going to add it: npm/npm#15900 |
Note that we need to align on behavior with npm. cc @iarna |
This seems in alignment with what npm is proposing. If you all spot any differences please speak up. Our spec goes into rather more detail about how this feature would be expressed in npm, but I don't think any of that is relevant to interoperability between the two projects. |
Wouldn't the two projects need to agree on what goes in |
Great to have this feature back into discussion! Turns out I just updated my fork yesterday to rebase the changes, here is an up-to-date commit: mgcrea/yarn@69f02c0 It's lacking test but will gladly add them back once we reach a PR-ready stage. |
text/0000-link-dependency-type.md
Outdated
- Either add a new `link:` prefix that would just create symlinks and that's it | ||
(regardless of destination's existence) | ||
|
||
- Add an option flag `--link-file-dependencies` that would override default |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove this from the RFC? Just add link:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thejameskyle done.
@ljharb I think the only point of differences is treating existing local directory dependencies ( |
The only caveat is that we're actually still debating even using |
I personally wouldn't mind with only |
I've updated the npm RFC to reflect the npm cli team's current consensus on this, which is that this should be a change to It's worth noting that neither of the versions of my proposal for npm has us keeping legacy From npm's perspective this is a breaking change, which is why this is scheduled for npm@5. It's my suspicion that this change won't actually break anyone, but as we're changing the contract we'll bump the major. |
What is left to decide here in order for this RFC to be accepted? |
@mgcrea, do you want to update this RFC to be inline with npm@5? |
However maybe I don't have enough context here but it feels like a complication merging |
Making I'm wrapping up spec tests for the npm implementation over at spec-local-specifiers which y'all are welcome to crib. Edit: the spec document itself needs some minor revisions around flattening behavior and |
Ok, I am in to follow npm here |
@bestander / @thejameskyle What can I do to contribute to this RFC and the matching implementation being merged? |
@benlangfeld, thanks for offering help. |
FYI, we are planning to have final look at this on Thursday this week. |
Thanks @bestander. At this point, I'm willing to pay a yarn subscription if it gets this merged; anything so my team can keep their hair. If there's anything that we can do to help move this forward, don't hesitate to delegate :) |
Hi! We read the proposal together with @bestander, and really like it. We think the feature described in this RFC might prove quite valuable, partly because of the use cases it contributes to solve, and partly because it might be a solid base for implementing more complex features later. @mgcrea I saw that you opened a pull request with a prototype implementation, do you still want to champion with feature? If so, I'd be happy to reopen it so that we can discuss it in more details. Let me know :) In the meantime, let's merge this document! |
@arcanis I'd be happy to. I'm off work this week so I can have some spare time to work on it. Would we directly go for the (major?) breaking change of the In that case, I can rewrite the PR accordingly, might need some extra-eyes to make sure there is no dead-code floating around (used exclusively by the current |
IMHO breking file: is unnecessary at this moment.
Happy to discuss it in a new RFC
…On 4 May 2017 at 15:18, Olivier Louvignes ***@***.***> wrote:
@arcanis <https://github.com/arcanis> I'd be happy to. I'm off work this
week so I can have some spare time to work on it.
Would we directly go for the (major?) breaking change of the file:
dependency type like npm?
In that case, I can rewrite the PR accordingly, might need some extra-eyes
to make sure there is no dead-code floating around (used exclusively by the
current file: handling).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#34 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ACBdWJgQRvpLCHjNBAIIu22Dmb2NR53aks5r2d5IgaJpZM4LDoV8>
.
|
Ok, I've quickly rebased my previous non-breaking work to yarnpkg/yarn#3359 we can discuss implementation details there. |
Following #25, hope the formatting is good enough (was unsure if I had to hard word wrap or not, and if yes how to deal with md links).