Есть пакет для NodeJS. Нужно сделать аналог для composer на PHP.
Как это работает для NodeJS:
- Пользователь вводит команду "npx assayo"
- Скрипт создаёт папку с файлами (HTML);
- Выполняет bash команду для GIT;
- Открывает txt файл и делает замену символа регуляркой;
Пункты (1) и (2) выполняются bash командой (shell_exec?)
Пункты (3) выполняются в коде (fopen/fclose?)
Библиотека не должна иметь зависимостей, т.к. логика супер простая.
Ожидаю что-то аналогичное для PHP:
php composer.phar ???
В конце нужно будет помочь с публикацией библиотеки, если я сам не смогу её добавить в реестр composer.
Репозиторий
https://github.com/bakhirev/assayo-npxindex.js - это скрипт пакета NodeJS. Можно посмотреть в нём алгоритм.
package.json - описание пакета. Можно использовать для composer.json
assayo - папка, которую нужно будет скопировать в место, где запустят либу.
Агоритм работы:
- Скопировать папку assayo из исходников либы в место, где её вызвали.
- Выполнить команду git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > ./assayo/log.txt
- Открыть файл ./assayo/log.txt (создан на шаге 2)
3.1) удалить все символы (регулярка: /`/gim)
3.2) обернуть все строки в report.push(`__строка__`); (регулярка: /\n/gim -> '`);\nreport.push(`')
Юзер-кейс:
- Пользователь вызывает библиотеку у себя в проекте
- У него появляется папка ./assayo
- Он руками открывает ./assayo/index.html и смотрит отчёт