deno outdated
Проверка устаревших зависимостей
Подкоманда outdated проверяет наличие новых версий зависимостей NPM и JSR, перечисленных в deno.json или файлах package.json, и показывает зависимости, которые можно обновить. Рабочие пространства полностью поддерживаются, в том числе те, где одни участники используют package.json, а другие — deno.json.
Например, возьмём проект с файлом deno.json:
{
"imports": {
"@std/fmt": "jsr:@std/fmt@^1.0.0",
"@std/async": "jsr:@std/async@1.0.1",
"chalk": "npm:chalk@4"
}
}
и файлом блокировки, в котором @std/fmt имеет версию 1.0.0.
deno outdated
┌────────────────┬─────────┬────────┬────────┐
│ Package │ Current │ Update │ Latest │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/fmt │ 1.0.0 │ 1.0.3 │ 1.0.3 │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/async │ 1.0.1 │ 1.0.1 │ 1.0.8 │
├────────────────┼─────────┼────────┼────────┤
│ npm:chalk │ 4.1.2 │ 4.1.2 │ 5.3.0 │
└────────────────┴─────────┴────────┴────────┘
В столбце Update указана самая новая версия, совместимая с semver, а в столбце Latest — последняя версия.
Обратите внимание, что jsr:@std/async отображается, хотя совместимой с semver версии для обновления нет. Если вы хотите показывать только пакеты, для которых доступны новые совместимые версии, можно передать флаг --compatible.
deno outdated --compatible
┌────────────────┬─────────┬────────┬────────┐
│ Package │ Current │ Update │ Latest │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/fmt │ 1.0.0 │ 1.0.3 │ 1.0.3 │
└────────────────┴─────────┴────────┴────────┘
jsr:@std/fmt по-прежнему отображается, поскольку его можно обновить до совместимой версии 1.0.3, но jsr:@std/async больше не отображается.
Обновление зависимостей
Подкоманда outdated также может обновлять зависимости с помощью флага --update. По умолчанию зависимости обновляются только до версий, совместимых с semver (то есть до версий, не содержащих критических изменений).
deno outdated --update
Updated 1 dependency:
- jsr:@std/fmt 1.0.0 -> 1.0.3
Чтобы обновить зависимости до последних версий (независимо от их совместимости с semver), передайте флаг --latest.
deno outdated --update --latest
Updated 3 dependencies:
- jsr:@std/async 1.0.1 -> 1.0.8
- jsr:@std/fmt 1.0.0 -> 1.0.3
- npm:chalk 4.1.2 -> 5.3.0
Выбор пакетов
Подкоманда outdated также позволяет выбирать пакеты для обработки. Эта возможность работает как с флагом --update, так и без него.
deno outdated --update --latest chalk
Updated 1 dependency:
- npm:chalk 4.1.2 -> 5.3.0
Можно передать несколько селекторов; также поддерживаются подстановочные знаки (*) и исключения (!).
Например, чтобы обновить все пакеты с областью имён @std, кроме @std/fmt:
deno outdated --update --latest "@std/*" "!@std/fmt"
Updated 1 dependency:
- jsr:@std/async 1.0.1 -> 1.0.8
Обратите внимание: если вы используете подстановочные знаки, аргумент, вероятно, нужно заключить в кавычки, чтобы оболочка не пыталась раскрыть их.
Обновление до определённых версий
Также можно выбрать конкретную версию для обновления, добавив её после @.
deno outdated --update chalk@5.2 @std/async@1.0.6
Updated 2 dependencies:
- jsr:@std/async 1.0.1 -> 1.0.6
- npm:chalk 4.1.2 -> 5.2.0
Рабочие пространства
По умолчанию в рабочем пространстве outdated обрабатывает только текущего участника рабочего пространства.
Например, для следующего рабочего пространства:
{
"workspace": ["./member-a", "./member-b"]
}
Запуск команды
deno outdated
из каталога ./member-a проверит наличие устаревших зависимостей только в ./member-a/deno.json или ./member-a/package.json.
Чтобы включить всех участников рабочего пространства, передайте флаг --recursive (также можно использовать сокращение -r).
deno outdated --recursive
deno outdated --update --latest -r
deno outdated [OPTIONS] [filters]...Поиск и обновление устаревших зависимостей. По умолчанию устаревшие зависимости только отображаются.
Показать устаревшие зависимости:
deno outdated
deno outdated --compatible
Обновить зависимости до последних версий, совместимых с semver:
deno outdated --update
Обновить зависимости до последних версий, игнорируя требования semver:
deno outdated --update --latest
Обновить зависимости в пределах существующих диапазонов версий, не изменяя deno.json / package.json (как npm update):
deno outdated --update --lockfile-only
С помощью фильтров можно выбрать пакеты для обработки. Фильтры могут содержать подстановочные знаки (*), чтобы соответствовать нескольким пакетам.
deno outdated --update --latest "@std/*"
deno outdated --update --latest "react*"
Обратите внимание, что фильтры применяются к псевдонимам, настроенным в deno.json / package.json, а не к фактическим именам пакетов. Если в deno.json или package.json указано "foobar": "npm:react@17.0.0", фильтр "foobar" обновит npm:react до последней версии.
deno outdated --update --latest foobar
Фильтры можно комбинировать, а для исключения результатов можно использовать отрицательные фильтры:
deno outdated --update --latest "@std/*" "!@std/fmt*"
Можно указать конкретные версии, до которых нужно обновить зависимости:
deno outdated --update @std/fmt@^1.0.2
Параметры
--compatibleУчитывать только версии, удовлетворяющие требованиям semver.
--env-file<FILE>необязательно
Загрузить переменные окружения из локального файла. Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому, если в окружении уже есть переменные с такими именами, их значения сохраняются. Если в файле .env несколько объявлений одной переменной окружения, применяется первое из них. Порядок определяется последовательностью файлов, переданных в качестве аргументов.
--interactive, -iВ интерактивном режиме выбрать зависимости для обновления.
--latestУчитывать последнюю версию независимо от ограничений semver.
--lockfile-onlyУстановить зависимости, обновив только файл блокировки.
--minimum-dependency-age<minimum-dependency-age>
(Нестабильный параметр) Возраст в минутах, длительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, '120' — два часа, 'P2D' — два дня, '2025-09-16' — дата отсечения, '2025-09-16T12:00:00+00:00' — время отсечения, '0' — отключить).
--recursive, -rВключить всех участников рабочего пространства.
--update, -uОбновить версии зависимостей.
Параметры управления зависимостями
--frozen<BOOLEAN>необязательно
Завершить работу с ошибкой, если файл блокировки устарел.
--lock<FILE>необязательно
Проверить указанный файл блокировки. (Если значение не указано, используется "./deno.lock").
--no-lockОтключить автоматический поиск файла блокировки.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/outdated