логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Deno 1.43: ускоренная работа с IDE, улучшенная поддержка Node.js и новые возможности

Картинка поста Deno 1.43: ускоренная работа с IDE, улучшенная поддержка Node.js и новые возможности

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

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile