Big Changes Ahead for Deno
TLDR:
- We’ve been working on some updates that will allow Deno to easily import npm packages and make the vast majority of npm packages work in Deno within the next three months.
- Our goal is to make Deno the fastest JavaScript runtime. For starters, the next release of Deno will include a new HTTP server. It is the fastest JavaScript web server ever built.
- Given the extensive use of Deno by developers at large companies and founders, we’ll be launching office hours for those of you employing Deno in a commercial setting. Please apply here.
- Deno recently passed 4.1m downloads on GitHub with 250k monthly active users.
First of all, we want to say thank you to all users of Deno who have helped the software grow over these past few years. Every day there are thousands of developers working with Deno, creating new capabilities and providing feedback to make Deno even better. This is one of the core elements that makes Deno special – especially when combined with a full-time staff that’s dedicated to listening and iterating quickly in response.
In this post we will share the learnings from our recent survey and more generally the feedback across our community. We’ll discuss how we’re addressing this feedback and the features to expect from Deno in the coming months.
Compatibility with Node and npm
Maybe not too surprisingly, Deno users have been a bit split on the best level of compatibility with Node. A large number of you have called out how refreshing it is to get away from all the pain of Node – from the antiquated and non-standard APIs to the odd module loading heuristics. We hear you, and these were some of the main reasons that our team created Deno in the first place.
Still, a fair number of you just want an easier way to interoperate with JavaScript written for Node and distributed as an npm package. We want Deno to be accessible and solve people’s problems, and so we’ve been working on some updates that will allow Deno to easily import npm packages and make 80-90% of npm packages work in Deno within the next three months.
The way this will work is with special npm URLs. It’s best explained with an example:
import express from "npm:express@5";
Within the next three months, most npm modules can be pulled in as a dependency
like this. There will be no node_modules
folder, no npm install
; the
packages will be automatically downloaded in the Deno cache. All the Deno
tooling will work with this, from type checking, to the LSP, to deno vendor
.
The fastest JavaScript runtime
We know there’s been a lot of chatter recently about runtime speed. Competition is good for the ecosystem! We relish the opportunity to put work into runtime performance. Our goal is to make Deno the fastest JavaScript runtime - full stop. We are 100% confident that the technology stack Deno is built on, V8 and Rust, can deliver this. Deno’s HTTP server is getting overhauled and we’re happy to report that it is the fastest JavaScript web server ever built. Our ops system is becoming ever more optimal - interfacing directly with V8 Fast API for speedy calls from JS into native code. Likewise our foreign-function interface (FFI) is seeing updates that place it second to none. We aren’t optimizing for a handful of edge cases, but for overall real world performance. You’ll be experiencing these improvements for yourself before the summer is over.
Supporting our enterprise users
Nearly half of active Deno users in our recent survey said they used Deno for work, including developers at large companies and founders building something new. We’d love to hear more about what you’re working on and to see how we can better support you. Going forward, we will launch free office hours for those of you employing Deno in a commercial setting. Since we’re still a pretty small crew, we just ask that you fill out THIS FORM to help us select folks to start with. We’ll prioritize based on project size and urgency.
The smoothest developer experience
When we asked about the main benefit you got from Deno, the vast majority of you mentioned the developer experience – especially with TypeScript out of the box. We also heard major love for Deno’s focus on web standards and APIs. The terms “breath of fresh air” and “futuristic” came up a lot. Our goal is to make sure Deno continues to deliver the best developer experience for everyone, and over the next few months we’re planning to launch a few things that will make it even better, including full-text symbol search across all third-party Deno code and automatically generated documentation for JavaScript and TypeScript projects. Here’s a quick preview:
A large and growing ecosystem
We continue to be excited by the size and supportiveness of the ecosystem that Deno has built over these past few years. Deno recently passed 4.1m downloads on GitHub with 250k monthly active users; the rate of adoption has continued to increase. We really appreciate your responsiveness not only to us in the recent survey but also on Discord, Github, and Twitter. We’re excited to keep building a better future for JavaScript with you!