TGViewer
Сергей Предводителев Сергей Предводителев @sergei_predvoditelev · 1.2K subscribers
Post #232 1.24K
🌿 Про проблему обновления состояния пакетов

В проектах, включающих в себя несколько много пакетов, как правило, структура этих пакетов однотипна, отличаясь лишь в нюансах:

• структура папок;
• конфигурация CI;
• конфигурация тестов, статанализа и других инструментов;
• файл лицензии;
• и так далее...

🖼 Yii3 и 💙 Typhoon — яркие примеры подобных проектов.

Так вот, в таких проектах есть две задачи на автоматизацию: подготовка структуры для нового пакета и обновление существующего пакета.

Задача с подготовкой нового пакета решается с помощью шаблона пакета, на базе которого создаётся новый репозиторий.

Например, в Yii3 это yiisoft/package-template. Мы создаём новый репозиторий на базе шаблона, затем вручную дорабатываем его: прописываем название пакета, указываем необходимые версии зависимостей и так далее.

Обновление же существующих пакетов происходит полностью вручную. Например, поднимая минимальную версию PHP, нужно: изменить зависимость в composer.json, обновить конфигурацию CI, обновить README и т. д.

Но можно пойти другим путём. Перед Новым годом Валентин Удальцов сделал Scaffolder, инструмент для подготовки нового или обновления существующего репозитория в проектах Typhoon и Thesis.

Суть Scaffolder заключается в декларативном описании состояния проекта, к которому инструмент приводит содержимое. Это позволяет автоматизировать обе задачи: и создание нового пакета и обновление существующего.

Мне крайне понравилась эта идея и я решил её «творчески переработать». Что из этого вышло — в следующей заметке 🙂
  • 👍 9
  • 🔥 2
More from @sergei_predvoditelev
  1. Sep 20, 2026🌿 Про хардкорный курс асинхронного PHP Записался на курс по асинхронному PHP, который зап…
  2. Sep 17, 2026🌿 Про автоматическое ревью и слияние PR Егор Бугаенко в 101 выпуске вопросов/ответов расс…
  3. Sep 9, 2026Пыхник’26 — целая неделя PHP! С 28 сентября по 2 октября пройдёт Пыхник’26 — онлайн-конфер…
  4. Aug 31, 2026#инфопузырь ☕️ Инфопузырь #20 (Август 2026) Ещё один короткий выпуск... Думаю, в сентябре…
  5. Aug 27, 2026🌿 Про Ghostty Весной я переехал со стандартного GNOME Terminal на WezTerm. И всё меня уст…
  6. Aug 22, 2026🌿 Про nono В комментариях к посту про локальных агентов упомянули песочницу для агентов n…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →