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.
  • Обновляет до последней, минорной или патч-версии.
  • Фильтрует пакеты по имени, шаблону или регулярному выражению.
  • Анализирует зависимости и выявляет потенциальные проблемы.

Оглавление

Установка

opm install depos

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

# Перейти в каталог проекта cd path/to/project # Проверить зависимости на наличие проблем depos doctor # Проверить доступные обновления depos check # Обновить версии зависимостей в packagedef depos upgrade # Установить обновленные пакеты opm install

check

Проверяет наличие обновлений для зависимостей, не изменяя файл packagedef. Выводит список пакетов с указанием текущих и доступных версий.

Синтаксис:

depos check [--packagedef <путь>] [-d|--deprecated] [-f|--filter <фильтр>] [-t|--target <тип>] [-o|--output <файл>]
Опция Описание
-p, --packagedef <путь> Путь к файлу packagedef или его каталогу. (по умолчанию: текущая директория)
-d, --deprecated Показывать только устаревшие пакеты.
-f, --filter <фильтр> Фильтр пакетов по именам (через запятую или пробел), шаблону (*, ?) или регулярному выражению.
-t, --target <тип> Тип целевой версии (по умолчанию: latest):
- latest - последняя доступная версия пакета.
- minor - последняя минорная или патч-версия в пределах основной версии.
- patch - последняя патч-версия в пределах минорной версии.
-o, --output <файл> Экспорт результатов проверки в JSON-файл.

Примеры использования:

# Базовая проверка в текущем каталоге 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 <тип>] [-o|--output <файл>]
Опция Описание
-p, --packagedef <путь> Путь к файлу packagedef или его каталогу. (по умолчанию: текущая директория)
--backup Создать резервную копию файла packagedef перед изменением.
-f, --filter <фильтр> Фильтр пакетов по именам (через запятую или пробел), шаблону (*, ?) или регулярному выражению.
-t, --target <тип> Тип целевой версии (по умолчанию: latest):
- latest - последняя доступная версия пакета.
- minor - последняя минорная или патч-версия в пределах основной версии.
- patch - последняя патч-версия в пределах минорной версии.
-o, --output <файл> Экспорт отчета об обновлениях в JSON-файл.

Примеры использования:

# Базовое обновление всех пакетов 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

Github Action

Workflow для автоматического обновления зависимостей пакетов OneScript с созданием Pull Request:

name: Обновление зависимостей on: schedule: - cron: '0 0 * * 1' # Каждый понедельник workflow_dispatch: jobs: update-dependencies: # if: github.repository_owner == '<your-username>' runs-on: ubuntu-latest steps: - name: Обновление зависимостей uses: Stivo182/depos-action@v1 with: filter: autumn-* # Обновлять только пакеты autumn target: minor # До минорных версий message-prefix: build(deps) token: ${{ secrets.PAT }}

Подробности и дополнительные параметры см. в документации.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • 1C Enterprise 100.0%