С недавно опубликованной Deno 1.33 разработчики проекта готовят пользователей среды выполнения JavaScript/TypeScript к запланированному амбициозному выпуску Deno 2. Частью этого толчка является дебют в Deno 1.33 базы данных ключей и значений Deno KV.
Обнародованная 28 апреля, Deno 1.33 предпринимает шаги для достижения целей Deno 2.0, которая должна выйти в ближайшие месяцы. Эти цели включают «легкое» кодирование, «лучшую в своем классе» производительность и «бескомпромиссную» безопасность.
В Deno 1.33 новые возможности включают встроенную базу данных ключей Deno KV для разработки приложений с отслеживанием состояния либо локально, либо в бессерверной службе хостинга JavaScript Deno Deploy. При локальном запуске Deno KV поддерживается SQLite. При работе в Deno Deploy база данных поддерживается FoundationDB, управляется Deno и глобально реплицируется в 35 облачных регионах. В настоящее время Deno KV находится в стадии бета-тестирования и представляет собой нестабильный API, поэтому долговременная устойчивость данных еще не гарантируется.
Также с Deno 1.33, deno.json
схема была сглажена для облегчения чтения и записи. Вложенные параметры, такие как "lint.files.exclude"
или "fmt.options.lineWidth"
теперь доступны на верхнем уровне соответствующих разделов.
В качестве улучшения качества жизни Deno 1.33 позволяет проводить меньше проверок разрешений для динамического импорта, сокращая время запуска. Это изменение упростит условное выполнение некоторого кода в определенных условиях, например, когда у разработчиков есть инструмент CLI со многими подкомандами, и они хотят условно загружать обработчики только при вызове подкоманды. Другие варианты использования включают загрузку полиформы только при необходимости и выполнение кода отладки в серверном приложении только при наличии переменной среды.
Deno 1.33 можно установить с сайта deno.com. Другие функции Deno 1.33 включают в себя:
- Для повышения производительности были внесены изменения в HTTP-сервер, а также в клиент и сервер для WebSockets. Работа над их улучшением продолжается.
- Для совместимости NPM и Node,
node:crypto
,node:http
иnode:vm
возможности были улучшены по сравнению с последней версией. - Предварительная загрузка файлов происходит при инициализации языкового сервера, смягчая ситуацию, когда определенные функции не работали, пока файл не был открыт.
- Для интерфейса командной строки новый
–-no-run
флаг был добавлен вdeno bench
подкоманда для кэширования разрешенных файлов стенда без их запуска. К тому же кроссплатформенныйunset
команда была добавлена в оболочку вdeno task
чтобы разрешить удаление переменных окружения и оболочки. -
Deno.run
API считается устаревшим. Со стабилизациейDeno.Command
API в Дено 1.31,Deno.Command
теперь является рекомендуемым способом создания подпроцессов.
Deno 1.33 следует за выпуском Deno 1.32 от марта 2023 года, который предлагает улучшенную совместимость с Node.js, и Deno 1.32.1, в котором исправлена критичная проблема безопасности, связанная с неправильной обработкой изменяемого размера ArrayBuffer во встроенных асинхронных функциях.