Vendor doplněk ovlivňující celou aplikaci

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Pavel Kravčík
Člen | 1180
+
0
-

Jak řešíte podobné věci v Nette? Většina rad tady směřuje k instalaci pluginů (balíčků) přes Composer. To je super věc, zvykl jsem si na to a většinu věcí jsem si tedy natahal do Nette vendoru.

Ale teď jsem přišel na bug, že na serveru mi mění balíček (mpdf) nastavení timezone. Všechny časy jsou tedy uložené o hodinu méně.

Najít ten bug mi trvalo relativně dlouho a opravil jsem ho docela nehezky → zakomentoval jsem kód v mpdf, kde se zadávala set_time_zone(). Ale pokud budu chtít update na novější verzi – ten kód se mi přepíše novou verzí z Composeru, což je hodně špatné řešení.

K otázce do pranice. Jak řešit podobné případy, kdy balíček může negativně (globálně) ovlivňovat celou aplikaci?

  • Nepoužívat špatný balíček
  • Locknout upravenou verzi
  • Nepoužívat balíček, stáhnout kód a přesunout ho do libs a tam provést úpravy
David Kudera
Člen | 455
+
+3
-

Poslat pull request nebo alespoň issue?

Pavel Kravčík
Člen | 1180
+
0
-

@DavidKudera: Dobrý nápad. :) Git vůbec nepoužívám, tak mi to nenapadlo, ale poslal jsem issue.

Filip Procházka
Moderator | 4668
+
0
-

Preferoval bych v tomto pořadí

  1. Nepoužívat špatný balíček → použít raději Kdyby/Wkhtmltopdf pokud je to možné
  2. Locknout upravenou verzi, kterou si forknu na svůj github profil, nahlásit bug případně lépe poslat pullrequest a mezitím si svou úpravu rebasovat, když potřebuju updatnout