Spec-Zone.ru › Deno 2

deno outdated

Проверка устаревших зависимостей

Подкоманда outdated проверяет наличие новых версий зависимостей NPM и JSR, перечисленных в deno.json или файлах package.json, и показывает зависимости, которые можно обновить. Рабочие пространства полностью поддерживаются, в том числе те, где одни участники используют package.json, а другие — deno.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 обрабатывает только текущего участника рабочего пространства.

Например, для следующего рабочего пространства:

deno.json
{
  "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

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

Последнее обновление: 10 марта 2025 г.

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

Spec-Zone.ru

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