DEV Community

Discussion on: Deno - why all the buzz?

Collapse
 
areknawo profile image
Arek Nawo

Thanks!
I've already fixed the link to Tokio.
As for external modules, Deno has a single directory on your disk to serve as a cache for all the URL-referenced dependencies. In this way, you only download them once per the specified version. This results in a single dependency of the given version being accessible right from the cache across multiple Deno projects. Also, more optimizations can be applied to the cache's structure, while keeping it away from the user.

So, to summarize the advantages of this approach:

  • no duplicate dependency downloads - even across multiple projects
  • greater potential for structural optimizations of the cache
  • no need to see the node_modules black hole ever again ;)
Collapse
 
simonhaisz profile image
simonhaisz

Yarn already caches download packages globally. But because of how node works these are duplicated in all of the projects that use them.

Thread Thread
 
areknawo profile image
Arek Nawo

True, but this duplication is where the real difference is.

Collapse
 
webcu profile image
Jorge A. Glez. Mena • Edited

I tried to solve that problem in my projects using docker with a shared mount volume. It worked, but only when the dependencies of the projects where the same, and usually they aren't, then I needed to reinstall all the dependencies when switching from one project to another. No the best developer experience :)

When using Yarn after have downloaded the packages the first time the reinstallation was really fast because of the global cache that Yarn creates as @simonhaisz mentioned.

This world of dependencies management is really big :)
Thanks for the response!