Deno 2 announces Node/npm compatibility, package management, and LTS — a real migration path
Key update
Deno 2 formally adds backwards compatibility with Node and npm by recognizing package.json and node_modules, supporting npm package imports (npm: specifiers), and shipping package-management subcommands (deno install, deno add, deno remove). The release also promotes a TypeScript-first registry (JSR) for publishing, stabilizes the standard library, and introduces a Long Term Support channel for production stability.
Why it matters
This is more than a friendly upgrade: Deno 2 materially lowers the barrier to adopting Deno in real-world codebases by making incremental migration feasible. Teams can now run many existing Node projects with far fewer code changes because Deno understands the same dependency manifests and can load a broad range of npm packages (including many complex native modules via Node-API). The new deno install/add/remove workflow and npm: import specifiers let you choose whether to keep package.json/node_modules or adopt Deno’s cache-first model, which simplifies CI and local onboarding strategies across monorepos. Stabilizing the standard library and offering an LTS channel makes Deno a more predictable option for production, while JSR and native TypeScript publishing reduce friction for type-safe packages.
For developers and DevOps engineers the practical impacts include easier proof-of-concept migrations, fewer build-tool rewrites, and more straightforward comparisons of runtime behavior (permission model and security by default remain Deno’s differentiators). That said, teams should evaluate edge cases: native addons, subtle Node runtime differences, and any framework-specific compatibility notes. In short, Deno 2 converts a long-standing technical demo into a realistic pathway for gradual adoption across services and tooling, rather than demanding an all-or-nothing rewrite.
Source
Read Next
TypeScript's native Go port (Project Corsa) delivers ~10× type-check speedups
November 29, 2025Microsoft's TypeScript team has ported the compiler and language service to Go (Project Corsa), producing large, real-world speed and memory improvements and shipping native previews for early testing.
Node.js marks built-in TypeScript type‑stripping stable (v25.2.0)
November 28, 2025Node.js v25.2.0 (Nov 11, 2025) promotes runtime TypeScript 'type stripping' to stable — run many .ts files with node directly, with important practical caveats.
Docker patches critical RCE in nested dependency, upstreams fix to LangChain.js
November 27, 2025Docker found and fixed a critical RCE (CVE-2025-12735) rooted in the expr-eval dependency, replaced it with a maintained alternative, and contributed the fix upstream to LangChain.js—affecting Kibana and many LLM apps.