volta icon indicating copy to clipboard operation
volta copied to clipboard

Support for Deno

Open arslivinski opened this issue 5 years ago • 7 comments

The Deno team just released their first RC and they are aiming to release the final version on May 13th.Would be nice to have support for Deno on Volta.

For those who don't know Deno, it's a new JavaScript runtime developed by the creator of Node.

arslivinski avatar May 05 '20 12:05 arslivinski

Hi @arslivinski, we've had our eye on Deno for a little while, but it's a bit tricky. While it's also a JS runtime, Deno is not directly compatible with Node, as it takes a vastly different approach to package management.

Currently, Volta is directly focused on the Node ecosystem, requiring Node to be specified as the starting point for most of what it does. We can't replace Node with Deno directly, so support for Deno would be more akin to adding a new ecosystem than adding a new tool to manage (even though it's still JS, Deno's package approach means it's mostly isolated from the Node ecosystem). That's something that's a long-term goal for Volta, but will require a lot of design work to figure out how all the pieces will need to fit together.

That being said, since Deno is still a JS ecosystem, it might be a good bridge to those discussions about managing other tools.

charlespierce avatar May 07 '20 16:05 charlespierce

@charlespierce

it might be a good bridge to those discussions about managing other tools

So, is it also in the long-term goal to support other runtimes than Node.js nor Deno? I darely would expect Volta could be an alternative of asdf, with the robust codebase written in Rust, if there's a chance to introduce asdf-like extensible plugin system.

yuhr avatar Sep 25 '21 15:09 yuhr

@yuhr I definitely think there's room to leverage the ideas behind Volta in a more general way. Expanding to other ecosystems (a la asdf) is something we've thought about for a long time, however the biggest roadblock is time. Volta in its current form is written to focus on the Node ecosystem, so a more general approach would be a significant undertaking. It would likely need to be an entirely new umbrella project, then adapting the current Volta as the first "plugin" into that project.

It's a super intriguing idea, just not one any of the current maintainers have had the time to tackle so far.

charlespierce avatar Oct 08 '21 17:10 charlespierce

For version 1.0.5

Volta tries, but hits an error


Please ensure you have correct permissions to the Volta directory.

Error cause: No such file or directory (os error 2)

I don't know what it's failing on, thought I'd add the information.

drazisil avatar Mar 08 '22 00:03 drazisil

Deno seems to be closer and closer to Node ecosystem, now with support of package.json: https://deno.com/blog/v1.31

synaptiko avatar Feb 27 '23 08:02 synaptiko

asdf is great! I use it to manage Deno versions on macOS and Linux. I prefer Volta for the Node.js ecosystem, and the fact that it supports Windows is an incredible feature. I would love to be able to use Volta to manage Deno versions.

Does the fact that Deno ships as a single binary ease any implementation burden? The asdf Deno plugin basically consists of:

  • List versions: using the GitHub API
  • Install: download a zipped arch-specific binary from GitHub, move it into place, make it executable
  • Uninstall: delete the binary

jsejcksn avatar Mar 09 '23 08:03 jsejcksn