Релиз-кандидат Deno 2 готов

Команда Deno выпустила релиз-кандидат для Deno 2.0, который включает в себя все, что ожидается в финальном релизе. Это самое крупное обновление с версии 1.0, вышедшей в мае 2020 года, с такими серьезными изменениями, как внедрение глобального процесса Node.

Deno построен на Rust и по умолчанию считается безопасным, так как не имеет доступа к файлам, сети и окружению, если это не разрешено явно.

Deno призван стать альтернативой Node.js, но пока не получил широкого распространения, несмотря на встроенную поддержку модулей TypeScript и ECMAScript.

Одно из главных изменений в Deno 2 - работа с глобальными переменными. Глобальная переменная window была удалена, и теперь доступен процесс Node. В Deno v1.0 был добавлен глобал window с целью сделать Deno как можно более совместимым с браузерами. Это привело к обратному результату, так как многие библиотеки проверяют, выполняются ли они в браузере, с помощью глобальной переменной window вместо того, чтобы проверять существование DOM. Это привело к появлению целого класса ошибок в библиотеках, которые в противном случае работали бы в Deno, поскольку window была глобально доступна.

В то время как window была удалена, глобальная переменная процесса была добавлена по просьбам пользователей. Разработчики Deno говорят, что хотя уже давно можно использовать process, импортируя его из модуля node:process, многие популярные фреймворки полагаются на его наличие в глобальной области видимости. Это дополнение должно означать, что большее количество кода, изначально написанного для Node.js, будет работать без изменений в Deno.

Другие изменения улучшают управление зависимостями, а несколько важных API теперь включены в стабильные версии, а не в предыдущие нестабильные варианты. К ним относится WebGPU, JavaScript API из веб-браузеров для эффективного использования графического процессора устройства. Среди других улучшенных API - FFI (foreign function interface) API, используемый для вызова нативного кода, и createHttpClient.

Также улучшена поддержка CommonJS. Предыдущие версии Deno предлагали лишь ограниченную поддержку CommonJS через ручное создание require.

В заявлении о релиз-кандидате команда Deno сказала:

«Хотя мы твердо верим, что модули ES - это будущее JavaScript, в 2024 году ландшафт все еще включает множество библиотек и проектов, полагающихся на CommonJS».

В связи с этим в Deno 2 было сделано несколько улучшений, чтобы облегчить работу с модулями CommonJS и сделать переход на модули ES проще. Самое главное - теперь Deno может выполнять файлы CommonJS при условии, что они используют расширение .cjs. Deno не ищет файлы package.json и опцию type, чтобы определить, является ли файл CommonJS или ESM.

Последнее изменение, на которое стоит обратить внимание, заключается в том, что утверждения импорта были отменены в пользу атрибутов импорта. Это изменение было сделано потому, что предложение претерпело значительные изменения, включая обновление ключевого слова assert на with и переименование в Import Attributes. Кроме того, некоторые браузеры (например, Chrome) уже удалили поддержку ассертов импорта.

Релиз-кандидат Deno 2.0 доступен уже сейчас.

Релиз-кандидат Deno 2 готов
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
26 сентября 2024 г.
48
Теги: Deno 2

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.

Свежие посты