Balík pro automatickou správu NEON konfigurace z balíků, asset souborů, Composer akce,

před 11 dny

baraja
Člen | 9
+
+2
-

Repo projektu: https://github.com/…kage-manager

Ahoj,

už hodně dlouho mi leží v hlavě nápad na balík, který bude (téměř) dokonale propojovat všechny silná místa Composeru a Nette. Oba nástroje mi extrémním způsobem šetří práci, ale dlouho jsem neznal elegantní řešení častých praktických věcí:

  • Jak rychle nakonfigurovat config.local.neon + založit novou lokální databázi?
  • Jak rychle invalidovat (smazat) cache a pročistit projekt?
  • Jak po instalaci balíku do projektu nakonfigurovat neon soubory?
  • Pokud balík obsahuje komponenty, jak elegantně získat jejich JS/CSS + další assety?
  • Jak automaticky aktualizovat Adminer?
  • Jak umožnit kolegům začátečníkům rychle a elegantně opravit formální chyby v projektu a strojově na ně upozornit?

Výčtem častých potíží, které v týmu vznikají, bych mohl pokračovat klidně dál.

Co ale většinu problémů vyřešit zavoláním příkazu composer dump?

Udělal jsem si menší uživatelský výzkum ve firmách a zjistil, že většinu těchto věcí řeší přes balíčky a pak ručně konfigurují neony, což mi přijde velmi nesystémové. Zkrátka jsem (aspoň podle mého názoru) 99 % těchto případů už nyní dokázal automatizovat.

Řešení? Základ na dva kroky, pokročilejší na víc:

1. Nainstalujte balík baraja-core/package-manager

Tj. příkaz:

composer require baraja-core/package-manager

2. Do projektového composer.json vložit sekci:

"scripts": {
    "post-autoload-dump": "Baraja\\PackageManager\\PackageRegistrator::composerPostAutoloadDump"
}

Poté se po jakékoli akci Composeru zavolá specializovaný script, co pomůže.

Zkuste například odstranit local.neon. Pokud neexistuje, připravený task se zeptá, jestli ho má založit a s jakými údaji k DB se připojit (které rovnou i zvaliduje a na localhostu často zjistí sám).

Další tasky je velmi lehké přidávat.


Funkcí, které balík řeší, je ještě celá řada a hodně uvidíte přímo v implementaci. Budu moc rád za zpětnou vazbu. Pokud balík dává smysl, rád bych ho dále rozvíjel i podle reálných potřeb komunity a třeba se jednou stane užitečným doplňkem každé Nette aplikace.

Díky.

Editoval baraja (13. 8. 18:21)