Состоялся мажорный релиз Deno – открытой, безопасной среды выполнения программ на языке TypeScript, обладающей следующими особенностями:
- Исключительно явный доступ к файловой системе, сети и окружению через установку соответствующих разрешений пользователем;
- Исполнение TypeScript без Node.JS и tsc;
- Обратная совместимость с Javascript: любое подмножество программ для Deno, не ссылающееся на глобальное пространство имён
Deno
и являющееся валидным Javascript кодом можно исполнять в браузере; - Поставка в виде единственного исполняемого файла, также содержащего в себе дополнительные инструменты, такие как
deno run --inspect-brk
: дебаг-сервер, взаимодействующий с Visual Studio Code и инструментами удалённой отладки в Google Chrome;deno install
: установщик программ для Deno из удалённых ресурсов. Производит загрузку вместе с зависимостями и добавляет в$HOME/.deno/bin
cкрипт для запуска программы;deno fmt
: производит форматирование кода;deno bundle
: бандлер программ на Deno. Производит js-файл, содержащий в себе программу для Deno и её зависимости;- WIP: генератор документации и инструмент аудита зависимостей;
- Отсутствие зависимости от
npm
иpackage.json
: внешние модули подгружаются и используются (загрузка по сети происходит только во время первого выполнения, в дальнейшем модуль кэшируется вплоть до вызова с флагом--reload
) после указания их URL прямо в программе:import * as log from "https://deno.land/std/log/mod.ts";
- Абсолютно все асинхронные операции возвращают
Promise
, в отличие от Node.JS; - Выполнение программы всегда останавливается при возникновении необработанных ошибок.
Deno – встраиваемая среда, и может быть использована для расширения существующих программ на Rust с помощью крейта deno_core.
Также команда Deno поставляет стандартные модули без внешних зависимостей, аналогичные по функциональности со стандартной библиотекой в языке Go.
Deno подходит для использования в качестве выполнения скриптов – поддерживается вызов через shebang.
Есть REPL.
Написано на языке программирования Rust.
>>> Подробности