Wenn ich beispielweise im Demo-Plugin für Erlebniswelt-Blöcke (“CustomCmsBlock” unter GitHub - shopware/swag-docs-custom-cms-block) einfach nur in der Preview-Twig-Datei den Text ändere und die Datei auf den Server schiebe, wird definitiv “irgendwas” kompiliert - aber weder wird die Admin unter 127.0.0.1:8080 neu geladen (mir nicht wichtig), noch wird nach Reload der veränderte Preview-Text angezeigt (wichtig ;))
Erst wenn ich “./psh.phar administration:build” respektive “bin/build-administration.sh” ausführe spiegelt sich die Änderung wider. Das dauert aber ewig und drei Tage und erschwert die Entwicklung imens…
Denkfehler meinerseits? Oder muss ich irgendwas anderes machen um bei der Plugin-Entwicklung “Hot” zu werden…?
Ich möchte mich hier auch unbedingt anschliessen. Die Theme-Entwicklung ist gelinde gesagt ein Pain in the Ass, und obwohl ich eignetlich anfänglicher Shopwar Fan war, bi auch ich nun wirklich genervt.
Ich habe 5 Tage jetzt damit verbracht, um irgend ein Setting her zu bringen, das das Verwenden von Watchern ermöglicht: Ich brauche wie mein Vorschreiber nicht mal ein Hot-reload im Browser, f5 drücke ich ja noch gern. Aber keine einzige Variante lässt irgend einen watcher laufen…
Versucht habe ich sowohl die Vagrant installation als auch eigene Docker-Setups (die im Template integrierten Docker-Compose files sind leider für mich unter Windows überhaupt nicht brauchbar)
Der Shop läuft hervorragend, Plugins ohne Theme-Anpassungen gehen auch problemlos.
Aber kompilierungen von Twig/SCSS/JS Files gehen nur über theme:compile (in allen templates) psh.phar storefront:build (nur dev, ich habe hier übrigens keinen watcher, der wirft einen fehler, da kein entsprechendes skript in der package.json besteht). unter production kompilieren weder build-storefront noch watch storefront. Egal ob unter Vagrant oder Docker.
Die auf dem Host geänderten files werden von keinem einzigen Watcher erkannt. Eine Theme-Entwicklung ist somit undenkbar, da bei jeder Änderung bis zu aktuell 14 sek “theme:compile”-Zeit einkalkuliert werden müssen.
Es gibt tatsächlich Devs und Agenturen, die unter Windows entwickeln und dadurch auch entsprechende Virtualisierungen haben. Shopware scheint hier leider darauf kaum Rücksicht zu nehmen (wie man bereits beim Installieren des Dev Templates feststellen darf… ). Linux zu installieren ist für uns keine Alternative… Scheint auch zu erklären, warum gar so wenige Shopware 6 Themes vorhanden sind…
Auch hier eine grosse Bitte für Updates oder meinetwegen auch Workarounds, wie file änderungen des Hosts in der Virtuellen Maschine bzuw. in Docker erkannt werden können…
ich verstehe den Frust, aber in meinem Post ging es um administration:watch, nicht storefront:watch
Letzteres sollte in einer Linux-VM, wenn man genau nach Anleitung GitHub - shopware/production: Shopware 6 production template vorgeht, sofort lauffähig sein. Ich hatte hier jedenfalls keine Probleme. Nutze allerdings auch kein Docker, sondern selbst augesetzte VirtualBoxen (also auch kein vagrant). Mit entweder der shopware.ova als Maschine und der Anleitung unter Shopware 6 - Setting Up a Local Environment with Virtual Box lief es bei mir. Und für die reine Theme Entwicklung braucht es das Develop-Template eigentlich nicht.
Komplizierter (zumindest bei mir) war es die administration:watch zum Laufen zu bekommen. Ich habe da einen älteren Thread (https://forum.shopware.com/discussion/comment/275569/) gefunden und meinen aktuellen Stand da geposted.
hast du das Problem, dass administration:watch Plugin-Code-Änderungen nicht “verarbeitet” in den Griff bekommen? Bei mir scheint er zwar angeblich auch mit dem richtigen Entry-Point zu kompilieren, aber Auswirkungen scheint das dann keine zu haben, Änderungen egal an welchen Files werden ignoriert. Nur ein admininstration:build führt zum Ergebnis, was aber den ganzen Entwicklungsprozess aber doch deutlich verlangsamt.
Denkfehler meinerseits? Oder muss ich irgendwas anderes machen um bei der Plugin-Entwicklung „Hot“ zu werden…?
Liebsten Dank,
devnullroot
Ich weiß nicht exakt wo dein Problem liegt, aber der Watcher schaut auf Veränderungen in (S)CSS/JS Dateien im shopware-dev Ordner. Beispielsweise Veränderungen an PHP-Dateien werden nicht berücksichtigt.
Hätte ich hier vielleicht besser auch noch mal ausführen sollen, sorry dafür!
Der aktuelle Stand ist jedenfalls, dass er kompiliert und lediglich das Auto-Reload nicht funktioniert - was aber an meiner VM-Proxy-Lösung liegen dürfte. Kompiliert hat er eigentlich immer, mein Fehler war, dass ich nicht die HMR-Administration unter localhost:8080 sondern die normale Admin mit der /admin Route genutz habe . Ich habe das auch in meiner ursprünglichen Frage falsch formuliert bzw. den /admin unter den Tisch fallen lassen…
@rammi22: Danke für den Hinweis. Aber wie gesagt, ich Depp habe ja auch die falsche Admin aufgerufen. Die Änderung an der oben erwähnten Preview-Twig-Datei wird hier auch übernommen.
@benschli: Rufst Du eventuell auch nicht die HMR-Administration auf?
ich sollte mal den konsolen output richtig lesen. Ich habe natürlich auch die normale /admin verwendet ;). Danke für den Hinweis, nun funktioniert alles so wie es soll.