depos - инструмент для анализа и обновления версий зависимостей пакетов OneScript в файле packagedef
.
- Модифицирует только файл
packagedef
. - Обновляет до последней, минорной или патч-версии.
- Фильтрует пакеты по имени, шаблону или регулярному выражению.
- Анализирует зависимости и выявляет потенциальные проблемы.
# Перейти в каталог проекта
cd path/to/project
# Проверить зависимости на наличие проблем
depos doctor
# Проверить доступные обновления
depos check
# Обновить версии зависимостей в packagedef
depos upgrade
# Установить обновленные пакеты
opm install
Проверяет наличие обновлений для зависимостей, не изменяя файл packagedef
. Выводит список пакетов с указанием текущих и доступных версий.
Синтаксис:
depos check [--packagedef <путь>] [-d|--deprecated] [-f|--filter <фильтр>] [-t|--target <тип>]
Опция | Описание |
---|---|
-p, --packagedef <путь> | Путь к файлу packagedef или его каталогу. (по умолчанию: текущая директория) |
-d, --deprecated | Показывать только устаревшие пакеты. |
-f, --filter <фильтр> | Фильтр пакетов по именам (через запятую или пробел), шаблону (* , ? ) или регулярному выражению. |
-t, --target <тип> | Тип целевой версии (по умолчанию: latest ): - latest - последняя доступная версия пакета.- minor - последняя минорная или патч-версия в пределах основной версии.- patch - последняя патч-версия в пределах минорной версии. |
Примеры использования:
# Базовая проверка в текущем каталоге
depos check
# Указание конкретного манифеста
depos check --packagedef /path/to/my-project/packagedef
# Проверка только до минорных весрий
depos check --target minor
# Показать только устаревшие пакеты
depos check --deprecated
# Фильтрация по именам пакетов
depos check -f autumn,oint
depos check -f 'autumn oint'
# Фильтрация по шаблону
depos check -f 'autumn-*'
# Фильтрация по регулярному выражению
depos check -f '/^autumn-.*$/'
Пример вывода:
Проверка зависимостей: path/to/packagedef
↑ 1connector 2.3.1 → 2.3.3
↑ autumn 3.3.0 → 4.3.11
↑ autumn-cli 1.1.0 → 1.2.0
semver 1.0.0 → 1.0.0
Найдено обновлений: 3
Обновляет версии зависимостей в файле packagedef
до указанных целевых версий. После обновления требуется установка новых версий пакетов с помощью opm install
.
Caution
Убедитесь, что файл packagedef
находится в системе контроля версий, и все изменения зафиксированы. Это действие перезапишет ваш файл.
Синтаксис:
depos upgrade [--packagedef <путь>] [--backup] [-f|--filter <фильтр>] [-t|--target <тип>]
Опция | Описание |
---|---|
-p, --packagedef <путь> | Путь к файлу packagedef или его каталогу. (по умолчанию: текущая директория) |
--backup | Создать резервную копию файла packagedef перед изменением. |
-f, --filter <фильтр> | Фильтр пакетов по именам (через запятую или пробел), шаблону (* , ? ) или регулярному выражению. |
-t, --target <тип> | Тип целевой версии (по умолчанию: latest ): - latest - последняя доступная версия пакета.- minor - последняя минорная или патч-версия в пределах основной версии.- patch - последняя патч-версия в пределах минорной версии. |
Примеры использования:
# Базовое обновление всех пакетов
depos upgrade
# Обновление с резервной копией
depos upgrade --backup
# Указание конкретного манифеста
depos upgrade --packagedef /path/to/project/packagedef
# Только патч-версии
depos upgrade --target patch
# Фильтрация по именам пакетов
depos upgrade -f 'autumn,1connector'
# Фильтрация по шаблону
depos upgrade -f 'autumn-*'
# Фильтрация по регулярному выражению
depos upgrade -f '/^autumn-.*$/'
Пример вывода:
Обновление зависимостей: path/to/packagedef
✓ 1connector 2.3.1 → 2.3.3
✓ autumn 3.3.0 → 4.3.11
✓ autumn-cli 1.1.0 → 1.2.0
Выполните opm install для установки новых версий пакетов.
Выполняет диагностику проекта, анализируя зависимости и выявляя потенциальные проблемы:
- Отсутствующие в манифесте пакеты, используемые в коде
- Неиспользуемые пакеты, объявленные в манифесте
Синтаксис:
depos doctor [--packagedef <путь>] [--src-dirs <каталоги>] [--dev-dirs <каталоги>] [--ignore-dev] [--strict]
Опция | Описание |
---|---|
-p, --packagedef <путь> | Путь к файлу packagedef или его каталогу. (по умолчанию: текущая директория) |
--src-dirs <каталоги> | Каталоги с исходным кодом для анализа (через запятую). (по умолчанию: src ) |
--dev-dirs <каталоги> | Каталоги с вспомогательным кодом для анализа (через запятую). (по умолчанию: tests и tasks ) |
--ignore-dev | Игнорировать зависимости для разработки при анализе. |
--strict | Завершать выполнение с ненулевым кодом при обнаружении проблем. |
Примеры использования:
# Базовая диагностика проекта
depos doctor
# Указание конкретного манифеста
depos doctor --packagedef /path/to/project/packagedef
# Анализ конкретных каталогов исходников
depos doctor --src-dirs src,lib,modules
# Анализ с указанием dev-каталогов
depos doctor --dev-dirs tests,tasks,benchmarks
# Игнорирование dev-зависимостей
depos doctor --ignore-dev
# Строгий режим (ненулевой код возврата при проблемах)
depos doctor --strict
# Для CI/CD: строгая проверка без dev-зависимостей
depos doctor --strict --ignore-dev
Пример вывода:
Диагностика зависимостей: path/to/packagedef
Отсутствующие пакеты в манифесте:
jason
- path/to/src/МойКласс1.os
- path/to/src/МойКласс2.os
asserts (dev)
- path/to/tests/Тесты.os
Неиспользуемые пакеты в коде:
cli
1bdd (dev)
Найдено проблем: 4