Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание задачи

Разработать инструмент командной строки для визуализации графа
зависимостей, включая транзитивные зависимости. Сторонние средства для
получения зависимостей использовать нельзя.
Зависимости определяются по имени пакета языка JavaScript (npm). Для
описания графа зависимостей используется представление Graphviz.
Визуализатор должен выводить результат в виде сообщения об успешном
выполнении и сохранять граф в файле формата png.
Ключами командной строки задаются:
• Путь к программе для визуализации графов.
• Имя анализируемого пакета.
• Путь к файлу с изображением графа зависимостей.
• Максимальная глубина анализа зависимостей.
• URL-адрес репозитория.
Все функции визуализатора зависимостей должны быть покрыты тестами.

Программа main.py

fetch_dependencies: рекурсивно извлекает зависимости указанного npm-пакета, ограничивая глубину анализа.

image

build_dot_graph: создает текстовое описание графа зависимостей в формате DOT для визуализации.

image

generate_graph: генерирует PNG-файл с графом зависимостей из DOT-файла с использованием Graphviz.

image

main: управляет процессом извлечения зависимостей, построения графа и его визуализации на основе входных параметров.

image

Тесты tests.py

tests.py image

Тесты проверяют корректность работы функций, используемых в визуализаторе зависимостей. test_fetch_dependencies проверяет, что функция fetch_dependencies возвращает словарь с зависимостями и включает ожидаемые пакеты, а test_build_dot_graph проверяет, что функция build_dot_graph корректно создает описание графа в формате DOT, включая связи между узлами image Все тесты выполнены успешно

Gitclone

git clone https://github.com/ababva/lubix

Файл a.png

image *При приближении изображение становится нормальным

Запуск

python .\main.py --package <пакет> --output <Путь к .png файлу> --depth <глубина>

<пакет> - Указание репозитория, откуда парсится

<Путь к .png файлу> - Путь к файлу, где будет генерироваться граф

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages