Spec-Zone.ru › Deno 2

Нестабильные флаги функций

Новые функции среды выполнения Deno часто выпускаются за флагами функций, чтобы пользователи могли опробовать новые API и возможности до их окончательной доработки. Текущие нестабильные флаги функций перечислены на этой странице, а также их можно найти в справке CLI, выполнив команду:

›_
deno --help

Использование флагов в командной строке

Вы можете включить флаг функции при запуске программы Deno из командной строки, передав его CLI в качестве параметра. Пример запуска программы с включённым флагом --unstable-node-globals:

›_
deno run --unstable-node-globals main.ts

Настройка флагов в deno.json

Вы можете указать, какие нестабильные функции следует включить для проекта, используя параметр конфигурации в deno.json.

deno.json
{
  "unstable": ["sloppy-imports", "webgpu"]
}

Допустимые значения в массиве unstable — это имена флагов без префикса --unstable-.

Настройка с помощью переменных окружения

Некоторые флаги можно включить, задав любое значение для переменной окружения с определённым именем, вместо передачи флага или использования параметра конфигурации deno.json. Флаги, которые можно задавать с помощью переменных окружения, будут отмечены ниже.

Пример установки флага --unstable-sloppy-imports с помощью переменной окружения:

›_
export DENO_UNSTABLE_SLOPPY_IMPORTS=true

--unstable-detect-cjs

Переменная окружения: DENO_UNSTABLE_DETECT_CJS

Загружает модули .js, .jsx, .ts и .tsx как потенциальные модули CommonJS в следующих дополнительных случаях:

  1. В файле package.json нет поля "type".
  2. Файл package.json отсутствует.

По умолчанию Deno загружает эти модули как потенциальные модули CommonJS только в проекте с файлом package.json, если в ближайшем package.json указано { "type": "commonjs" }.

Требуется Deno >= 2.1.2

--unstable-node-globals

Этот флаг добавляет специфичные для Node глобальные переменные в глобальную область видимости. Добавляются следующие глобальные переменные:

  • Buffer
  • global
  • setImmediate
  • clearImmediate

Обратите внимание: process доступен в качестве глобальной переменной начиная с Deno 2.0.

Требуется Deno >= 2.1.0

--unstable-sloppy-imports

Переменная окружения: DENO_UNSTABLE_SLOPPY_IMPORTS

Этот флаг включает поведение, при котором расширения файлов определяются по импортам, в которых они не указаны. Обычно приведённая ниже инструкция импорта вызывает ошибку:

foo.ts
import { Example } from "./bar";
console.log(Example);
bar.ts
export const Example = "Example";

Запуск скрипта с включёнными нестрогими импортами устраняет ошибку, но выводит рекомендацию использовать более производительный синтаксис.

Нестрогие импорты позволяют (но выводят предупреждения) выполнять следующие действия:

  • Не указывать расширения файлов в импортах
  • Указывать неверные расширения файлов (например, импортировать с расширением .js, хотя фактический файл имеет расширение .ts)
  • Импортировать путь к каталогу, автоматически используя index.js или index.ts для импорта этого каталога

deno compile не поддерживает нестрогие импорты.

--unstable-unsafe-proto

В целях безопасности Deno принял осознанное решение не поддерживать Object.prototype.__proto__. Однако многие пакеты npm по-прежнему зависят от этого свойства для корректной работы.

Этот флаг включает это свойство. Обратите внимание: использовать его не рекомендуется, но если вам действительно нужен пакет, который от него зависит, теперь вы можете обойти это ограничение.

Начиная с Deno 2.9, --unsafe-proto — это стабильный краткий вариант той же настройки. Он записывается как обычный, а не нестабильный флаг, поэтому deno run --unsafe-proto main.ts и deno run --unstable-unsafe-proto main.ts эквивалентны.

--unstable-webgpu

Включает API WebGPU в глобальной области видимости, как в браузере. Ниже приведён простой пример получения основных сведений о графическом процессоре с помощью этого API:

// Try to get an adapter from the user agent.
const adapter = await navigator.gpu.requestAdapter();
if (adapter) {
  // Print out some basic details about the adapter.
  const adapterInfo = await adapter.requestAdapterInfo();

  // On some systems this will be blank...
  console.log(`Found adapter: ${adapterInfo.device}`);

  // Print GPU feature list
  const features = [...adapter.features.values()];
  console.log(`Supported features: ${features.join(", ")}`);
} else {
  console.error("No adapter found");
}

Другие примеры использования WebGPU см. в этом репозитории.

--unstable-broadcast-channel

Включение этого флага делает веб-API BroadcastChannel доступным в глобальной области видимости, как в браузере.

--unstable-worker-options

Включает нестабильные параметры API Web Worker. В частности, позволяет задавать разрешения, доступные рабочим потокам:

new Worker(`data:application/javascript;base64,${btoa(`postMessage("ok");`)}`, {
  type: "module",
  deno: {
    permissions: {
      read: true,
    },
  },
}).onmessage = ({ data }) => {
  console.log(data);
};

--unstable-cron

Включение этого флага делает API Deno.cron доступным в пространстве имён Deno.

--unstable-kv

Включение этого флага делает API Deno KV доступными в пространстве имён Deno.

--unstable-net

Включает нестабильные сетевые API. К ним относятся:

  • WebSocketStream
  • Deno.DatagramConn

--unstable-otel

Включает интеграцию OpenTelemetry для Deno. Эта функция стала стабильной, поэтому в Deno 2.4 и более поздних версиях этот флаг не требуется.

--unstable-bundle

Включает нестабильный API среды выполнения Deno.bundle для программной сборки программ на JavaScript и TypeScript. См. также команду deno bundle.

--unstable-lazy-dynamic-imports

При запуске без проверки типов динамические импорты, поддающиеся статическому анализу, загружаются по мере необходимости, а не сразу. Обратите внимание: это может изменить порядок разрешения спецификаторов semver.

--unstable-npm-lazy-caching

Загружает зависимости npm только при фактическом обращении к ним через импорт, а не устанавливает при запуске все пакеты npm, перечисленные в package.json.

--unstable-no-legacy-abort

Использует сигнал отмены в Deno.serve без устаревшего поведения. С этим флагом request.signal отменяет запрос только при фактическом отключении клиента, а не после каждого успешного ответа.

О причинах изменения поведения отмены запросов и способах определить, что запрос был полностью доставлен, см. раздел Поведение отмены запросов в Deno.serve.

--unstable

Внимание

--unstable устарел — используйте отдельные флаги.

Флаг --unstable больше не используется для новых функций и будет удалён в одном из будущих выпусков. Все нестабильные функции, доступные с помощью этого флага, теперь можно включить с помощью отдельных нестабильных флагов, в частности:

  • --unstable-kv
  • --unstable-cron

В дальнейшем используйте вместо него эти флаги функций.

--unstable-temporal

Примечание

Начиная с Deno 2.7, API Temporal является стабильным и доступен по умолчанию. Флаг --unstable-temporal больше не требуется.

API Temporal — это современный API для работы с датой и временем, доступный в глобальной области видимости. Он обеспечивает более широкую поддержку часовых поясов и календарей, а также более точные вычисления даты и времени по сравнению с устаревшим объектом Date.

example.ts
// Get the current date and time
const now = Temporal.Now.plainDateTimeISO();
console.log(`Current date and time: ${now}`);

const date = Temporal.PlainDate.from("2025-07-10");
const nextWeek = date.add({ days: 7 });
console.log(`Next week: ${nextWeek}`);

// Working with time zones
const zonedDateTime = Temporal.Now.zonedDateTimeISO("America/New_York");
console.log(`Time in New York: ${zonedDateTime}`);

--unstable-tsgo

Выполняет проверку типов с помощью нативного компилятора TypeScript (написанного на Go), который зачастую примерно в 10 раз быстрее стандартного JavaScript tsc. Deno интегрирует нативный компилятор с собственным разрешением модулей и типами, поэтому проверка типов кода Deno выполняется обычным образом.

›_
deno check --unstable-tsgo main.ts

Его также можно включить с помощью переменной окружения DENO_UNSTABLE_TSGO=1 или "unstable": ["tsgo"] в deno.json. Эта функция доступна в предварительной версии и пока не реализована полностью. Подробности см. в разделе TypeScript.

Последнее обновление: 2 июля 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/unstable_flags

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API