Файлы конфигурации
Deno читает два файла конфигурации: package.json от Node.js и собственный файл deno.json. Оба файла поддерживаются наравне и являются необязательными, поэтому Deno работает с любым из них или с обоими одновременно. Общее правило:
- Используйте
package.jsonдля зависимостей и скриптов. Deno читает этот файл напрямую, поэтому большинство проектов Node.js запускаются без изменений и файлdeno.jsonвам вовсе не нужен. - Добавьте
deno.json, если хотите настроить собственные инструменты Deno, например форматтер, линтер, компилятор TypeScript или задачи.
package.json
Deno поддерживает package.json наравне с собственными возможностями. Укажите Deno на существующий проект Node.js, и он разрешит те же npm-зависимости из package.json и запустит scripts проекта с помощью deno task — без deno.json и без этапа преобразования:
deno install # install the dependencies from package.json
deno task <script> # run a script defined in package.json
Файл конфигурации package.json задаёт зависимости и скрипты проекта, но не конфигурирует сам Deno. Параметры, специфичные для Deno, например настройки форматтера, линтера, компилятора TypeScript и поведения файла блокировки, указываются только в deno.json. Если присутствуют оба файла, Deno считывает зависимости из каждого, а собственные настройки берёт из deno.json.
Это позволяет перейти на Deno постепенно: продолжайте запускать приложение на Node, используя Deno как более быстрый пакетный менеджер с совместимым интерфейсом, запускайте существующие скрипты с помощью deno task и добавьте deno.json для набора инструментов Deno, когда будете готовы. В руководстве Переход с Node.js описаны все этапы, а в разделе Совместимость с Node в Deno рассказывается, как среда выполнения сопоставляет API Node и разрешает модули.
deno.json
В файле deno.json настраивается сам Deno: задачи, зависимости и такие инструменты, как компилятор TypeScript, линтер и форматтер. Этот файл необязателен; минимальный вариант выглядит так:
{
"tasks": {
"dev": "deno run --watch main.ts"
},
"imports": {
"@std/assert": "jsr:@std/assert@^1"
},
"fmt": {
"lineWidth": 100
}
}
Файл поддерживает расширения .json и .jsonc, поэтому с помощью deno.jsonc можно добавлять комментарии и завершающие запятые.
Deno автоматически обнаруживает файл deno.json или deno.jsonc в текущем рабочем каталоге или любом родительском каталоге, благодаря чему настройки проекта применяются ко всем файлам внутри него. Используйте флаг --config, чтобы указать другой файл. В монорепозитории корневой файл deno.json может определять рабочую область, участники которой имеют собственные файлы deno.json.
Что можно настроить
Файл deno.json позволяет настроить инструменты Deno и проект. Описание каждого поля приведено в справочнике по файлу конфигурации (deno.json), в том числе:
- Зависимости и карты импортов
- Задачи
- Проверка кода линтером и форматирование
- Файл блокировки и каталог node_modules
- Параметры компилятора TypeScript
- Флаги экспериментальных возможностей
includeиexclude- Экспорты
- Разрешения
- Параметры компиляции
- Минимальный возраст зависимости
В справочнике приведены полный пример файла deno.json и схема JSON для автодополнения в редакторе.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/fundamentals/configuration