Deno 2.5 — наборы разрешений конфигурации, журналы аудита, API бандла времени выполнения и обновления V8/TS

DenoTypeScriptDevOps

Основное обновление

Deno 2.5 (стабильная версия) стандартизирует наборы разрешений в deno.json и добавляет журнал аудита разрешений, формализует хуки настройки/разборки для Deno.test, вводит API времени выполнения для программного бандлинга (плюс бандлинг HTML точки входа), позволяет настраивать заголовки WebSocket при рукопожатии и обновляет среду выполнения до V8 14.0 и TypeScript 5.9.2. Выпуск также включает ряд целевых улучшений производительности (постоянство кэша вывода, уменьшение памяти обертки CommonJS, условный пропуск JSX) и несколько исправлений для удобства разработчиков, которые улучшают совместимость с Node/npm в реальных рабочих процессах.

Почему это важно

Наборы разрешений в deno.json и журнал аудита DENO_AUDIT_PERMISSIONS перемещают Deno от произвольных флагов CLI к воспроизводимым, подлежащим аудиту запускам — полезно для CI, проверок безопасности и команд с несколькими окружениями, поскольку вы можете определять, повторно использовать и проверять именованные профили разрешений (и предотвращать случайные избыточные запуски). Хуки жизненного цикла тестов (beforeAll/beforeEach/afterEach/afterAll) закрывают давнюю проблему удобства с установленными тестовыми фреймворками, упрощая миграцию и совместные шаблоны для команд. API Deno.bundle времени выполнения и поддержка HTML точки входа позволяют вам программно бандлить в скриптах сборки и CI без необходимости подключать полный инструментальный набор Vite для небольших статических или целевых приложений на краю; обратите внимание, что API является экспериментальным и требует --unstable-bundle. Поддержка заголовков WebSocket улучшает аутентификацию во время рукопожатия для сценариев сервер-сервер и на краю (не доступно в браузерах). Обновление до V8 14 и TypeScript 5.9 приносит новые функции JS, улучшенную производительность и обновленную проверку типов — ожидайте немного более быстрых итераций разработки и доступа к новым удобствам языка. В целом, этот выпуск практичен: он улучшает безопасность, снижает трение в тестировании и легком бандлинге, а также обеспечивает измеримые ускорения итераций/CI, сохраняя возможность использовать более широкие экосистемы (например, Vite) при необходимости.

Источник

Читать дальше