Spec-Zone.ru › Deno 2

deno transpile

Команда deno transpile генерирует JavaScript из исходных файлов TypeScript, JSX или TSX. Она пригодится, если вам нужен обычный вывод .js для запуска в среде, которая не понимает TypeScript, или чтобы передать его на этап сборки, который ожидает JavaScript.

Для большинства сценариев работы deno transpile не нужен — deno run, deno test и deno serve уже принимают файлы .ts / .tsx напрямую. Используйте эту команду, если:

  • Вы поставляете библиотеку пользователям, которые запускают node или непосредственно сборщик для браузера. (Для tarball-пакетов npm предпочтительнее deno pack, который дополняет deno transpile логикой упаковки.)
  • Инструмент на следующем этапе понимает только .js.
  • Вы хотите включить предварительно скомпилированный .js в артефакт сборки, а не выполнять транспиляцию на лету.

Использование

›_
deno transpile <files...> [flags]

<files> — это один или несколько путей к исходным файлам (шаблоны glob раскрываются оболочкой). deno transpile не обходит каталоги — укажите файлы для транспиляции, при необходимости используя шаблон glob оболочки.

Режимы вывода

Режим Результат
без флага вывода Записать результат транспиляции в стандартный вывод.
-o <path>, --output <path> Записать результат в один файл. Несовместимо с --outdir.
--outdir <dir> Записать каждый входной файл в <dir>, сохранив структуру исходных файлов.
›_
# Print to stdout
deno transpile main.ts

# Write to a single file
deno transpile main.ts -o dist/main.js

# Transpile multiple files into an output directory
deno transpile src/main.ts src/helpers.ts --outdir dist

# Use a shell glob
deno transpile src/*.ts --outdir dist

Соответствие расширений входных и выходных файлов

Входной файл Выходной файл Карта исходного кода
.ts .js .js.map
.tsx .js .js.map
.jsx .js .js.map
.mts .mjs .mjs.map
.cts .cjs .cjs.map

Преобразование JSX, декораторы, целевая версия и другие параметры генерации берутся из compilerOptions в вашем deno.json (или tsconfig.json), поэтому результат соответствует коду, который выполнил бы deno run. Полный список см. в разделе Параметры компилятора TypeScript.

Карты исходного кода

Передайте --source-map с одним из следующих значений:

Режим Результат
none (по умолчанию) без карты исходного кода
inline встроить карту исходного кода в виде комментария data: в каждый файл
separate записать отдельный файл .js.map (или .mjs.map / .cjs.map)
›_
deno transpile main.ts -o dist/main.js --source-map separate

Объявления типов

Используйте --declaration для генерации файлов объявлений .d.ts. Объявления создаются с помощью tsc (с использованием встроенного TypeScript), поэтому этот флаг учитывает compilerOptions из вашего deno.json / tsconfig.json.

Файлы .d.ts всегда записываются на диск — рядом с исходным файлом, если место вывода не задано, или в --outdir, если оно указано, — даже если вывод JavaScript направляется в стандартный вывод или в один файл -o.

›_
deno transpile src/*.ts --outdir dist --declaration

Отличия от tsc

deno transpile и tsc в TypeScript выполняют похожие задачи, но не являются взаимозаменяемыми:

Аспект deno transpile tsc
Проверка типов Не выполняется — только генерация. Используйте отдельно deno check. По умолчанию выполняется полная проверка типов.
Генерация .d.ts Да, с помощью --declaration. Делегирует работу встроенному tsc. Да.
Импорты из JSR / npm / удалённых источников Разрешает их. Не разрешает их.
Источник конфигурации deno.json (или tsconfig.json). Только tsconfig.json.
Скорость Быстрая генерация на основе SWC. Медленнее (включает проверку типов).

Чтобы обнаруживать ошибки типов, запускайте deno check до или после транспиляции. deno transpile без проблем сгенерирует код, который не пройдёт проверку типов.

Ограничения

  • Без объединения файлов. Для каждого входного файла создаётся один выходной. В импортах меняется только расширение (./foo.ts → ./foo.js), однако для полученного графа по-прежнему нужна среда выполнения, разрешающая импорты. Чтобы получить один файл, используйте deno bundle.
  • Каталоги не обходятся. Передача каталога ничего не даст — укажите файлы явно (src/**/*.ts) или используйте шаблон glob.
  • Карты исходного кода и стандартный вывод. --source-map inline работает при выводе в стандартный поток; для separate требуется путь вывода, чтобы рядом с ним можно было записать карту.

См. также

  • deno bundle — создать один объединённый файл JavaScript
  • deno pack — собрать tarball для публикации в npm (внутри использует deno transpile)
  • deno check — проверить типы без генерации файлов
  • Поддержка TypeScript — обзор работы TypeScript в Deno
Использование в командной строке:
deno transpile [OPTIONS] [file]...

Транспилировать файлы TypeScript/JSX/TSX в JavaScript.

deno transpile main.ts

Вывести результат в указанный файл:

deno transpile main.ts -o main.js

Вывести результат в каталог:

deno transpile src/*.ts --outdir dist

С картами исходного кода:

deno transpile main.ts --source-map separate

Создать файлы объявлений:

deno transpile main.ts -o out.js --declaration

Примечание: --declaration всегда записывает файлы .d.ts на диск (рядом с исходным файлом или в --outdir).

Параметры управления зависимостями

--frozen<BOOLEAN>необязательно

Завершить работу с ошибкой, если lock-файл устарел.

--import-map<FILE>

Загрузить файл карты импортов из локального файла или по удалённому URL.

--lock<FILE>необязательно

Проверить указанный lock-файл. (Если значение не задано, используется "./deno.lock".)

--no-lock

Отключить автоматический поиск lock-файла.

--no-npm

Не разрешать npm-модули.

--no-remote

Не разрешать удалённые модули.

--node-modules-dir<MODE>необязательно

Выбрать режим каталога node_modules для пакетов npm (не путь). Возможные значения: auto (создать локальный каталог node_modules и установить в него пакеты npm), manual (использовать существующий локальный каталог node_modules, не изменяя его), none (не использовать локальный каталог node_modules; разрешать пакеты npm из глобального кэша). Если флаг передан без значения, по умолчанию используется auto.

--node-modules-linker<MODE>

Задать режим компоновщика для пакетов npm (isolated или hoisted).

--reload, -r<CACHE_BLOCKLIST>необязательно

Перезагрузить кэш исходного кода (повторно скомпилировать TypeScript). Если значение не задано, перезагружается всё. Передайте список спецификаторов, разделённых запятыми, чтобы перезагрузить только указанные модули; npm: перезагружает все модули npm; npm:chalk перезагружает один модуль npm; jsr:@std/http/file-server,jsr:@std/assert/assert-equals перезагружает указанные модули.

--vendor<vendor>необязательно

Включить или отключить использование локального каталога vendor для удалённых модулей и каталога node_modules для пакетов npm.

Параметры

--cert<FILE>

Загрузить центр сертификации из файла в кодировке PEM.

--conditions<conditions>

Используйте этот аргумент, чтобы указать пользовательские условия для экспорта пакетов npm. Также можно использовать переменную окружения DENO_CONDITIONS. .

--config, -c<FILE>

Настроить различные аспекты Deno, включая TypeScript, линтинг и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае данный флаг не требуется.

--declaration

Создать файлы объявлений .d.ts (требуется проверка типов с помощью tsc).

--minimum-dependency-age<minimum-dependency-age>

(Нестабильный параметр) Возраст в минутах, длительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, '120' для двух часов, 'P2D' для двух дней, '2025-09-16' для даты отсечения, '2025-09-16T12:00:00+00:00' для времени отсечения, '0' для отключения).

--no-config

Отключить автоматическую загрузку файла конфигурации.

--outdir<outdir>

Каталог для выходных файлов транспиляции.

--output, -o<output>

Путь к выходному файлу (для транспиляции в один файл).

--source-map<source-map>

Режим карты исходного кода: none, inline или separate.

Последнее обновление: 20 мая 2026 г.

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

Spec-Zone.ru

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