What’s New in Deno 1.34? Binary Compilation, npm Support, and TLS IP Certificates
Deno 1.34 introduces npm package support for deno compile, the ability to bundle resources into a single executable, TLS certificates that accept IP addresses, enhanced glob patterns in deno.json and CLI flags, plus numerous bug fixes, V8 11.5 and TypeScript 5.0.4 updates.
Deno 1.34 has been officially released, focusing on improved compatibility with npm and Node.js to enhance developer experience and lay groundwork for future performance gains.
Key Changes
deno compile now supports npm packages.
Since Deno v1.6, deno compile can produce a single binary executable, allowing developers to:
Distribute and run the binary on all major platforms without installing Deno or its dependencies.
Include resources inside the executable for better portability.
Simplify deployment with a single file.
Achieve faster startup times.
Leverage support for Web Workers, dynamic imports, and now npm packages.
Example: creating a standalone binary using cowsay:
$ cat main.ts
import { say } from "npm:[email protected]";
console.log(say({ text: "Hello from Deno!" }));
$ deno compile --allow-read main.ts
$ ./main
_________________
< Hello from Deno! >
------------------
\ ^_^
\ (oo)\______
(_ _)\ )\/\
||----w |
||| ||TLS Certificate with IP Address
This feature is useful for Kubernetes pods that frequently use IP addresses instead of domain names, avoiding circular DNS dependencies for HTTPS/TLS.
In Deno v1.34, any TLS‑using API accepts an IP address, e.g.:
const resp = await fetch("https://1.1.1.1");
console.log(await resp.text());Glob Support in deno.json and CLI Flags
Additional improvements and bug fixes are listed, including configuration enhancements.
Improved Configuration Files
Previously, excluding files for each sub‑command required repetitive entries:
{
"fmt": {
"exclude": ["target/"]
},
"lint": {
"exclude": ["target/"]
},
"test": {
"exclude": ["target/"]
},
"bench": {
"exclude": ["target/"]
}
}From this version onward, a top‑level exclude property can be used directly:
{
"exclude": ["target/"]
}Other Improvements
Language server enhancements.
Deno API changes.
Further npm and Node compatibility optimizations.
Upgrade to V8 11.5 and TypeScript 5.0.4.
For full details, see the official release announcement.
Related link: https://deno.com/blog/v1.34
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
