https://yarnpkg.com
https://github.com/yarnpkg/yarn
Are there real benefits? https://shapeshed.com/thoughts-on-yarn/ mentions speed (which is nice) and shared cache (which we already have in CI?). Is it worth it?
----
//From duplicate task T178647 by @Yurik://
This is for consideration only, not a request yet, as I might be able to get upstream lib to publish multiple npm packages.
There is at least one case, when `npm` refuses to support a use case that `yarn` supports. The [[ https://github.com/npm/npm/issues/5499 | Install multiple versions of a dependency #5499 ]] was rejected by the NPM team, despite a very vocal demand by the community. Yarn chose to [[ https://github.com/npm/npm/issues/5499#issuecomment-330597286 | implement it ]].
This feature allows multiple versions of the same library to be added to a project. My particular use case is supporting multiple versions of Vega library, all of which exist under the same name in NPM repository.
The problem with `yarn` approach is that it makes `package.json` incompatible with the `npm` (npm throws an error on `npm:` protocol).
Can we introduce some project-level setting, e.g. a key in `package.json` to specify which package manager to use for the build?