Состоялся мажорный релиз 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.
Источник: linux.org.ru