Skip to content

Инструмент для анализа и обновления версий зависимостей в файле packagedef

License

Notifications You must be signed in to change notification settings

oscript-library/depos

 
 

Repository files navigation

depos

Release Тестирование Статус порога качества License: MIT

depos - инструмент для анализа и обновления версий зависимостей пакетов OneScript в файле packagedef.

  • Модифицирует только файл packagedef.
  • Обновляет до последней, минорной или патч-версии.
  • Фильтрует пакеты по имени, шаблону или регулярному выражению.
  • Анализирует зависимости и выявляет потенциальные проблемы.

Быстрый старт

# Перейти в каталог проекта
cd path/to/project

# Проверить зависимости на наличие проблем
depos doctor

# Проверить доступные обновления
depos check

# Обновить версии зависимостей в packagedef
depos upgrade

# Установить обновленные пакеты
opm install

check

Проверяет наличие обновлений для зависимостей, не изменяя файл 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

upgrade

Обновляет версии зависимостей в файле 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 для установки новых версий пакетов.

doctor

Выполняет диагностику проекта, анализируя зависимости и выявляя потенциальные проблемы:

  • Отсутствующие в манифесте пакеты, используемые в коде
  • Неиспользуемые пакеты, объявленные в манифесте

Синтаксис:

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

About

Инструмент для анализа и обновления версий зависимостей в файле packagedef

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • 1C Enterprise 100.0%