Re:Yarn – A new package manager for JavaScript
by wycats on Tuesday October 11, 2016 @11:24AM
(#12685231)
This is something I really want to explore more through less-compatible modes. It was the original way yarn worked, but it wasn't compatible enough to be the default mode: https://github.com/yarnpkg/yarn/issues/57
Re:Yarn – A new package manager for JavaScript
by endergen on Tuesday October 11, 2016 @11:37AM
(#12685361)
If you do, would love see experiments on that. I do wish NPM would start adding badges or some other meta data to packages that signify that a module has constraints like:
- No native code
- No module state (No multiple singletons, and easily load variants of a module)
- Pure installation, aka no build steps and is fully cacheable via hashing/immutable module patterns
- Is all pure functional
- 100% code coverage
- Etc.
Re:Yarn – A new package manager for JavaScript
by jbverschoor on Tuesday October 11, 2016 @11:36AM
(#12685356)
Hmm.. is it still available as a configuration option somewhere? I couldn't find it on the site.
I'm a huge fan of bundler - it's dependency heaven. I'm also a big fan of the rubygems repo. It does not allow changes in released versions.
Even without symlinks it's a much needed improvement in the javascript ecosystem
Re:Yarn – A new package manager for JavaScript
by wycats on Tuesday October 11, 2016 @11:41AM
(#12685407)
This is something I hope to work on over the next few months. It's a priority for Ember :)
Re:Yarn – A new package manager for JavaScript
by ef4 on Tuesday October 11, 2016 @11:33AM
(#12685326)
Yeah, that would be much better. But unfortunately the node_modules structure (which yarn is attempting to be fully compatible with) makes that impossible.
The reason is that each package only finds its dependencies relative to its own location. So your second level dependencies cannot vary from project to project unless you do copying.
(Example: AppA and AppB depend on LibX. LibX depends on LibY. Through their deterministic lockfiles, AppA and AppB disagree on which version of LibY to use. There is no way to symlink things together to satisfy that case without copying LibX or altering node's package resolution algorithm.)
Re:Yarn – A new package manager for JavaScript
by theanswerer on Tuesday October 11, 2016 @01:54PM
(#12686784)
You can make it work with `node --preserve-symlinks`
Stop copying stuff. Just make it global and link.
Next step is to make packages immutable and signed.
I'm happy with this step and the fact that facebook will be able to push this.