Написать библиотеку на PHP (для composer)

1 000 руб. за проект
27 августа 2024, 14:37 • 2 отклика • 42 просмотра
Есть пакет для NodeJS. Нужно сделать аналог для composer на PHP.

Как это работает для NodeJS:
  1. Пользователь вводит команду "npx assayo"
  2. Скрипт создаёт папку с файлами (HTML);
  3. Выполняет bash команду для GIT;
  4. Открывает txt файл и делает замену символа регуляркой;
Пункты (1) и (2) выполняются bash командой (shell_exec?)
Пункты (3) выполняются в коде (fopen/fclose?)
Библиотека не должна иметь зависимостей, т.к. логика супер простая.

Ожидаю что-то аналогичное для PHP:
php composer.phar ???

В конце нужно будет помочь с публикацией библиотеки, если я сам не смогу её добавить в реестр composer.

Репозиторий https://github.com/bakhirev/assayo-npx
index.js - это скрипт пакета NodeJS. Можно посмотреть в нём алгоритм.
package.json - описание пакета. Можно использовать для composer.json
assayo - папка, которую нужно будет скопировать в место, где запустят либу.

Агоритм работы:
  1. Скопировать папку assayo из исходников либы в место, где её вызвали.
  2. Выполнить команду git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > ./assayo/log.txt
  3. Открыть файл ./assayo/log.txt (создан на шаге 2)
3.1) удалить все символы (регулярка: /`/gim)
3.2) обернуть все строки в report.push(`__строка__`); (регулярка: /\n/gim -> '`);\nreport.push(`')

Юзер-кейс:
  1. Пользователь вызывает библиотеку у себя в проекте
  2. У него появляется папка ./assayo
  3. Он руками открывает ./assayo/index.html и смотрит отчёт