Paul Krill
Editor at Large

Deno shrinks deno compile binaries

news
Feb 27, 20242 mins

Deno 1.41 promises to reduce the size of ‘deno compile’ binaries by half and introduces an official build for Linux ARM64.

shutterstock 2214728639 yellow green plastic toy Brachiosaurus dinosaur on a blue background
Credit: Lazarevic photoworkshop / Shutterstock

The developers of the Deno TypeScript/JavaScript runtime have reduced the size of deno compile binaries and introduced an official Linux ARM64 build with the newly released Deno 1.41 version.

This latest release of the Node.js rival was unveiled February 22. Users can upgrade their Deno installation by running the following command in the terminal:

deno upgrade

Deno Land said the binaries produced by the deno compile command in Deno 1.41 are as much as 50% smaller than in previous versions. A “Hello World” program compiled to a 116MB binary on Mac ARM in Deno 1.40 compiled to just 58MB in Deno 1.41. Further plans include making compiled binaries even smaller, as well as allowing developers to compile a custom build of Deno with only desired features.

Linux ARM64 support has been one of the most requested features in the Deno community, Deno Land said. In addition to the provided Linux ARM64 binaries, developers now can install ARM64 canary builds to test features and bug fixes.

Deno 1.41 fixes several Node.js compatibility issues. The crypto module now supports the aes256 algorithm, http2.connect supports ALPN protocols, fs/promises supports cp(), and cp.execFile now properly validates the timeout parameter.

The release also brings changes to Deno APIs. Deno.ConnectTlsOptions now supports cert and key properties to better align with other “connect” APIs in Deno. DenoFsFile.isTerminal and Deno.FsFile.SetRaw() now are available to better support terminal I/O, while Deno.FsFilelock() and Deno.FSfile.unlock() are available to support file locking.

For the language server, Deno 1.41 brings better auto-completion triggers and more reliable version suggestions for npm: specifiers. And a linting-related memory leak in the language server protocol (LSP) has been fixed.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author