Дмитрий
Deno — это JavaScript-исполнитель с поддержкой TypeScript, ориентированный на простоту и продуктивность. В версии 1.43 разработчики улучшили производительность в IDE и расширили совместимость с Node.js и npm.
Основные улучшения и новые возможности Deno 1.43:
1. Ускорение работы Language Server:
Производительность автодополнения для крупных проектов увеличена, время уменьшено с 6-8 до менее 1 секунды. Значительно снижено потребление памяти, что позволяет обрабатывать даже проекты, ранее приводившие к ошибкам недостатка памяти.
2. Совместимость с Node.js и npm:
- Реализованы улучшения в node:worker_threads и node:vm.
- Исправлены проблемы с популярными CLI-библиотеками, такими как ora, undici, Docusaurus.
- Добавлена поддержка различных функций, как
process.kill
,fs.readvSync
,fs.createWriteStream
.
3. Поддержка npm-команд в задачах deno.json:
Теперь можно напрямую использовать npm-команды в задачах, определенных в deno.json.
// deno.json
{
"tasks": {
"start": "vite"
}
}
4. Быстрая загрузка модулей ES и CommonJS:
Благодаря кэшированию байт-кода (bytecode caching), время запуска приложений значительно сократилось.
5. Улучшение компиляции JSX:
Обновленная опция jsxPrecompileSkipElements
позволяет пропускать элементы JSX при предварительной компиляции.
6. Новая опция jsxImportSourceTypes:
Позволяет указывать типы для автоматического JSX-преобразования, что особенно полезно для библиотек без встроенных типов.
{
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "npm:react@^18.3",
"jsxImportSourceTypes": "npm:@types/react@^18.3"
}
}
7. Новая команда deno serve:
Позволяет писать серверы декларативно. Автоматически применяет необходимые разрешения для входящих HTTP-соединений и обеспечивает простой доступ к адресу сервера.
8. Обновления Deno.serve():
- Добавлено отслеживание завершения ответа с помощью
Deno.ServeHandlerInfo.completed
. - Сигнал
AbortSignal
наRequest
будет прерван по завершении транзакции.
9. Более простой доступ к адресу сервера:
Добавлено свойство addr
в экземпляры сервера, что упрощает получение порта.
10. Новый Web API URL.parse():
Проще обрабатывать некорректные URL без необходимости использовать блок try-catch
.
11. Стабилизация стандартной библиотеки:
Deno Standard Library переходит на @std scope. Подробности будут опубликованы в отдельном блоге.
12. Android-сборки для rusty_v8:
Теперь легче собирать rusty_v8 для Android благодаря полученным патчам.
13. V8 12.4:
Введена поддержка нового вида TypedArray - Float16Array.
14. Новые возможности Deno 2:
Возможности будущей версии Deno 2 доступны за флагом DENO_FUTURE=1
, позволяя протестировать совместимость проекта с новыми функциями.
Заключение:
Команда Deno благодарит всех участников сообщества за вклад в выпуск версии 1.43. На GitHub доступен полный список изменений, а в будущей версии Fresh 2.0 разработчики обещают еще больше возможностей!
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile
Комментарии
0