Support for Deno on Netlify

Deno (“sequel to node”) has been slowing progressing for a while and is about to hit v1.0 (first release candidate landed just days ago).

I couldn’t find anything in the support forums about Netlify supporting Deno (maybe I just couldn’t find it? If so, please close this and link me). As far as I can tell, Deno isn’t currently supported in any of Netlify’s build images.

There are a lot of things about Deno that look super compelling. As a developer, I have a few projects where I would like to try it out. However, it’s hard to really consider using it on a new project if the build pipeline doesn’t support it.

Now that v1 is landing, seems like a good time to at least consider the idea? I would guess folks at Netlify have already talked about it and it’s on your radar. Any chance you could post an update on whether or not this will be supported in the near future?

Thanks for listening :ear:

7 Likes

Deno is definitely interesting. If you want to use it to build your site, you could probably run a script to pull the static binary and you’d be off to the races. If you were thinking about running it in a function, well, that would be pretty awesome.

I personally think Deno is pretty awesome and agree with your sentiment. :+1:

4 Likes

Please add Deno support it’s what Node.js should have been. I’m front end dev only used Node.js for couple of times, but Deno is exciting and it’s picking up steam.

3 Likes

Great. It’s good to hear that people are getting excited about it! We will keep an eye on this topic. :eyes:

1 Like

Deno 1.0 hasn’t landed just yet, but it’ll be released on Wednesday May 13! :tada:

We too have been following Deno’s progress and are excited for it to drop and are exploring ways in which users can start playing with it on our platform. I personally think Deno would be such a great fit for serverless functions, especially since it spits out a single executable. We’ll definitely be working on some demos on our end in the near future. Keep an eye out for that! :eyes:

2 Likes

Is this depends whether AWS will add it as a runtime?

hey @web2033, not to my knowledge, no. We will definitely update here if we do more work on this :muscle:

2 Likes

Can’t wait you support deno :slight_smile:
Heroku already support it.

2 Likes

Hi. Any advance here?
I’d love to use Deno for some projects and I don’t know how to configure the build command to use it.
Is there any example that I could use?

If you’re looking to use Deno for the site build (not for Functions), you could theoretically get it working with the alpha-stage Homebrew support since Deno is on Homebrew. I have not tested this, just putting it out there for folks :slight_smile:


Jon

1 Like

Great suggestion from Jon - please let us know if that doesn’t work for you, @oscarotero!

Hi @fool , thanks for your support.
I just created this repository for testing purposes: https://github.com/lumeland/base-blog, including a Brewfile.netflify file to install deno, but I’m getting errors in the installation process:

2:34:55 PM: Installing Homebrew dependencies from Brewfile.netlify
2:35:00 PM: ==> Tapping linuxbrew/xorg
2:35:00 PM: Cloning into '/opt/buildhome/.linuxbrew/Homebrew/Library/Taps/linuxbrew/homebrew-xorg'...
2:35:00 PM: Tapped 95 formulae (134 files, 1.7MB).
2:35:00 PM: Error: No similarly named formulae found.
2:35:00 PM: Error: No available formula with the name "linuxbrew/xorg/libva-internal" (dependency of deno).
2:35:00 PM: ==> Searching for similarly named formulae...
2:35:00 PM: ==> Searching for a previously deleted formula (in the last month)...
2:35:00 PM: linuxbrew/xorg/libva-internal was deleted from linuxbrew/xorg in commit 6fffa4a:
2:35:00 PM:   libva-internal: delete
2:35:00 PM:   Now in homebrew/core and is not needed by other xorg formulae.
2:35:00 PM: To show the formula before removal run:
2:35:00 PM:   git -C "$(brew --repo linuxbrew/xorg)" show 6fffa4a^:Formula/libva-internal.rb
2:35:00 PM: If you still use this formula consider creating your own tap:
2:35:00 PM:   https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap
2:35:00 PM: Installing deno has failed!
2:35:00 PM: Homebrew Bundle failed! 1 Brewfile dependency failed to install.

Thanks for the report! Better to file an issue on the repo, here, for the developers to take a look at when they get the chance:

Since the homebrew, and rust, support in our build image is in alpha status (which you can regard as initial implementation, unsupported), it is quite possible we won’t get to a fix anytime soon. However, PR’s are welcomed since the build-image is open source and can be run locally to confirm your changes :slight_smile:

One of our Rust developers did point out that you might be able to install deno via cargo, but that that would likely take “some time” to build so you may want to build locally and cache it in your repo so it is available for future builds. Not sure what that would look like since I don’t use those tools, but it’s a pattern we recommend for other programs we don’t directly support that can work well.

Just got deno running build scripts by using this build command:

curl -fsSL https://deno.land/x/install/install.sh | sh && /opt/buildhome/.deno/bin/deno run --allow-read --allow-write ./build.deno.ts

Looks like brew is unhappy with installing deno on linux.

However, why couldn’t there be a way to use sth. like a custom build image, just like how we use gitlab CI ?

No reason we couldn’t implement it, but we haven’t, is why you can’t use it today :slight_smile:

Our already-pretty flexible CI env of “do whatever you want in the unix shell” is already a pretty huge thing to provide tech support on (leads to around 2/5 of our Support contacts, almost all about things that the customer has misconfigured rather than bugs in our system), and allowing people to bring their own docker image complicates things further. I suppose we could implement a “0 tech support” policy on custom containers to ease the operational cost, but while we can say anything we want - people can and do set their own expectations and expect more than that, judging from a decade in the industry, and in the gap between expectations and reality lies much sadness.

Anyway, we do have an open feature request for that, and I’ve added this thread to it so we will follow up here to let you know if the situation changes.

1 Like

This is the most thought-leader comment I’ve heard in a community forum in a long time :smile: TY @fool for your clarity here.

1 Like

hah, thanks for the kind words at the end of a long week :slight_smile:

As your advocate, I wish for everything you do and compared to many, this isn’t an unreasonable request - just hard to implement and hard to support.

Anyway, we’ll follow up here in case we later implement it! Having talked about it with our product team fairly extensively in the past hour, I do think that it isn’t super likely in the near future, though, so I wouldn’t hold my breath.