Support for Deno
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.
- Official website deno.land
- 10 Things I Regret About Node.js - Ryan Dahl - JSConf EU
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
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 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.
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.
Deno seems to be closer and closer to Node ecosystem, now with support of package.json: https://deno.com/blog/v1.31
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