A major release of Deno has taken place – an open, secure runtime environment for TypeScript that has the following features:
- Explicit access to the file system, network, and environment through user-defined permissions;
- Running TypeScript without Node.JS and tsc;
- Backward compatibility with JavaScript: any subset of Deno programs that does not reference the global namespace of Deno and is valid JavaScript can be executed in the browser;
- Delivered as a single executable file, which also contains additional tools such as
- deno run —inspect-brk: debugging-server, interacting with Visual Studio Code and remote debugging tools in Google Chrome;
- deno install: an installer for Deno programs from remote sources. It downloads along with dependencies and adds a script for program execution in $HOME/.deno/bin;
- deno fmt: formats code;
- deno bundle: a bundle tool for Deno programs. It produces a js file that contains the program for Deno and its dependencies;
- WIP: documentation generator and dependency audit tool;
- No dependency on npm and package.json: external modules are loaded and used (network loading occurs only during the first execution; the module is cached until called with the —reload flag) after specifying their URL directly in the program:
import * as log from "https://deno.land/std/log/mod.ts"; - All asynchronous operations return a Promise, unlike Node.JS;
- Program execution recommendations only stops upon encountering unhandled errors.
Deno is an embeddable environment and can be used to extend existing programs in Rust using the crate deno_core.
The Deno team also provides standard modules without external dependencies, similar in functionality to the standard library in the Go language.
Deno is suitable for use as a script runner – support for invocation via shebang is included.
There is a REPL.
Written in the Rust programming language.
Source: linux.org.ru

