A modern runtime for JavaScript, TypeScript, and WebAssembly with secure defaults and excellent developer experience.
Deno is a modern runtime for JavaScript, TypeScript, and WebAssembly built on V8, Rust, and Tokio, designed with security and developer productivity as core principles. It provides a secure-by-default environment where file, network, and environment access require explicit permissions, and includes built-in tooling like a test runner, formatter, linter, and package manager. It aims to be a complete toolchain that addresses common pain points around security, tooling, and module management in traditional JavaScript runtimes.
JavaScript and TypeScript developers seeking a secure, all-in-one runtime with modern web standards and built-in tooling, particularly those building web servers, command-line tools, or applications requiring strict permission controls. It also appeals to developers tired of complex configuration for TypeScript or separate tooling setups.
Developers choose Deno for its secure-by-default model that eliminates unexpected resource access, its built-in TypeScript compiler requiring no additional configuration, and its comprehensive built-in tooling that reduces dependency on external packages. It offers a streamlined, self-contained alternative to Node.js with native ES module support and Web Standard APIs for consistency across environments.
A modern runtime for JavaScript and TypeScript.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Deno requires explicit permissions for file, network, and environment access, eliminating unexpected resource usage and reducing attack surfaces, as seen in commands like `deno run --allow-net`.
Includes a TypeScript compiler with zero configuration, allowing developers to write and run TypeScript code directly without external tools or setup, per the README's example server.
Comes with a test runner, formatter, linter, and package manager (JSR) built into a single executable, reducing dependency bloat and simplifying development workflows.
Implements browser-compatible APIs like Fetch and WebSocket, ensuring consistency and easier code sharing between server and client environments without polyfills.
While JSR is growing, Deno lacks the vast library of npm, meaning some popular third-party packages may be unavailable or require adaptation, limiting options for developers.
The need to specify flags (e.g., `--allow-net`) for every resource access can be cumbersome during development, slowing down debugging and increasing command-line complexity.
Deno has undergone breaking API changes and its tooling is less battle-tested than Node.js, posing risks for long-term stability and maintenance in production projects.
deno is an open-source alternative to the following products: