Deno 1.15 improves Node.js compatibility

New version of the Node.js alternative also makes progress toward a feature-complete Web Crypto API.

Deno 1.15 improves Node.js compatibility
Thinkstock

Deno 1.15, the latest release of the JavaScript runtime positioned as a secure alternative to Node.js, features a new flag that makes it easier to run Node.js programs in Deno.

Deno 1.15 was published October 12. When the --compat flag is present, Deno will automatically set up Node global variables, such as process, and provide all built-in modules available in Node. Note that this flag currently requires –-unstable.

The version of –-compat in Deno 1.15 is just a first pass. More work will be put into improving compat mode in coming releases, moving toward Node emulation. According to Deno 1.15 release notes, std/node is a module that provides a compatibility layer for Node APIs, enabling developers to run a subset of Node programs in Deno. The release of std 0.111.0 updates the compatibility layer, adding desired modules including dns, http, and net, along with updates to the cryptocode module.

Deno 1.15 is available to current Deno users by running deno upgrade. Other highlights of Deno 1.15:

  • Progress has been made toward a feature-complete Web Crypto API, with the goal of feature-completeness by the end of the year. With this release, improvements have been made such as RSA keys now being exportable in SPKI (Simple Public-Key Infrastructure) format.
  • FFI (Foreign Function Interface), an API added in Deno 1.13 to call libraries written in languages such as C, C#, and Kotlin, adds support for non-blocking calls and buffer arguments.
  • A deno uninstall sub-command has been introduced to remove a command previously installed with deno install.
  • deno lint now supports the –-watch flag, which will keep the process alive after printing diagnostics and watch for file changes to update diagnostics from changed files.
  • An experimental sub-steps API has been added to the Deno testing framework, allowing uses to define sub-steps for tests defined by Deno.test.
  • The following APIs have been stabilized: Deno.kill, Deno.Process.kill, Deno.resolveDNS.
  • The Google V8 9.5 JavaScript engine is included.

Deno 1.14, featuring additions to the Web Crypto API, was released on September 14.

Copyright © 2021 IDG Communications, Inc.

How to choose a low-code development platform