- Start Date: (fill me in with today's date, YYYY-MM-DD)
- RFC PR: (leave this empty)
- Yarn Issue: (leave this empty)
One paragraph explanation of the feature.
Why are we doing this? What use cases does it support? What is the expected outcome?
Please focus on explaining the motivation so that if this RFC is not accepted, the motivation could be used to develop alternative solutions. In other words, enumerate the constraints you are trying to solve without coupling them too closely to the solution you have in mind.
This is the bulk of the RFC. Explain the design in enough detail for somebody familiar with Yarn to understand, and for somebody familiar with the implementation to implement. This should get into specifics and corner-cases, and include examples of how the feature is used. Any new terminology should be defined here.
What names and terminology work best for these concepts and why? How is this idea best presented? As a continuation of existing npm patterns, existing Yarn patterns, or as a wholly new one?
Would the acceptance of this proposal mean the Yarn documentation must be re-organized or altered? Does it change how Yarn is taught to new users at any level?
How should this feature be introduced and taught to existing Yarn users?
Why should we not do this? Please consider the impact on teaching people to use Yarn, on the integration of this feature with other existing and planned features, on the impact of churn on existing users.
There are tradeoffs to choosing any path, please attempt to identify them here.
What other designs have been considered? What is the impact of not doing this?
Optional, but suggested for first drafts. What parts of the design are still TBD?