The Deno project has released version 1.26 with enhancements, including improved support for npm modules, implementations for more Node.js compatibility APIs, and performance improvements which are dramatic in some cases, such as up to 30 times more throughput encoding text into an array.
Deno is an alternative to Node.js founded by Ryan Dahl, who created Node.js. It is built on the V8 runtime (as is Node.js) but with a modern design, with integrated support for TypeScript and ES modules and avoiding the use of a node_modules directory to store dependencies, which can be problematic for its size, performance and hidden files.
The advantage of Deno is that it arrived without the legacy baggage of Node.js and npm, but that is also a disadvantage because of the huge userbase of the existing Node ecosystem. The Deno team is trying to address this with better compatibility, though much of it is still flagged as experimental and unstable.
“You may find cases where an npm package expects itself to be executing from a node_modules directory. To improve compatibility and support those packages, a new –node-modules-dir flag has been added,” the team explains.
Deno also has a Node.js compatibility layer, which has now been updated for Node.js 18.8, from the previous target of Node.js 16.13. There is an updated Node.js streams implementation, additional child_process APIs, and support for getting process user and group identifiers on non-Windows platforms.
Although Deno is open source, the Deno company is commercial and operates Deno Deploy, a distributed hosting platform. Deno Deploy is one of a new generation of hosting platforms based on near-instant distribution to global servers for low-latency performance. Other examples are CloudFlare Workers and Netlify Edge.
Deno 2.6 has also updated its TypeScript version to 4.8, released in August.