erdmannfreunde/euf_nutshell_kit

Contao 4: gulpfile.js und package.json liegen unter /files

Closed this issue · 8 comments

Das Composer Plugin bietet unter Contao 4 nicht mehr die Möglichkeit, Dateien im root anzulegen, sondern lediglich unter root/files. Dadurch können auch gulpfile.js und package.json nicht wie unter Contao 3.5 automatisch im root angelegt werden.

Hier sehe ich aktuell nur 2 Möglichkeiten:

  1. README anpassen: Hinweis geben, dass die beiden Dateien zukünftig aus /files in root verschoben werden sollen
  2. dauerhaft in /files arbeiten, was neue Probleme in Bezug auf den Ordner templates mit sich bringt. Auch würdr node_modules dann unter files liegen und erstmal von Contao indexiert werden

Gibt es hier noch andere Ideen/Vorschläge?

bezin commented

Aus meiner Sicht ist es ohnehin der konsequentere Weg, denn package.json und gulpfile.js sind für mich Teil des Themes und gehören daher in den entsprechenden Ordner unter /files.

Unsere Struktur sah bisher ohnehin so aus, dass alle Daten eines Themes unter /files/themes/theme_name abgelegt sind. Dieses Setup habe ich auch vorgenommen, als ich gestern ein neues Projekt mit Nutshell gestartet habe, aber die Dateistruktur manuell anlegen musste. Das ermöglicht grundsätzlich auch mehrere Themes pro Installation, was interessant sein kann bei mehreren Seitenbäumen. Wirklich genutzt haben wir diese Möglichkeit bisher aber auch noch nicht ;)

Auch im Template-Ordner würde ich entsprechend einen Ordner pro Theme mit "theme_name" anlegen. Grundsätzlich stört mich aber auch, dass node_modules dann unter /files liegt und grundsätzlich erst einmal mit indexiert wird, solang man dies nicht spezifisch unterbindet.

Aus welchem Grund habt ihr denn ursprünglich eine andere Struktur im Sinn, also z.B. gulpfile und package.json im Projekt-Root?

gulpfile.js und package.json lagen bisher im Root, weil ich es auch von anderen Projekten so kenne. Es könnte sein, dass man auf den Ordner templates nicht zugreifen kann, wenn die gulpfile.js unter /files liegt. Ich werde das mal testen

bezin commented

Die Sache mit den Templates stört mich ohnehin noch ein wenig. Für mich gehören auch die Templates zum Theme – für Contao ja auch, da im Backend ein Theme-spezifischer Template-Ordner ausgewählt werden kann. Aber leider liegt dieser immer unter /templates, und nicht wahlweise z.B. unter /files/themes/my_awesome_theme/templates. Oder bin ich der Einzige mit diesem Wunsch :)

Konntest du denn schon testen?

Gutes Stichwort – Templates-Ordner. Die jetzige Lösung des Composer-Plugins dürfte ja für den Templates-Ordner nicht funktionieren. Vielleicht hake ich da nochmal nach, ob man Dateien doch außerhalb des files-ordners abspeichern kann.

Das Contao die Struktur mit dem separaten Templates-Ordner im Root aufgibt, ist wohl eher unwahrscheinlich 😉

wie wärs mit einem Symlink?

Ich habe dazu mal ein Ticket erstellt contao-community-alliance/composer-plugin#74

@kgansberger Klingt interessant. Weißt du ob und wenn ja wie ein Symlink über das composer-plugin erstellt werden könnte?

ich denke es reicht wenn der symlink einfach unter files im Paket enthalten ist. so wie der nutshell ordner auch schon vorhanden ist...

// root/files/
ln -s ../templates ./templates

Da das composer-plugin nicht genügend Rechte bereitstellt, um Dateien unter Contao 4 außerhalb des files-Ordners abzulegen, wird das Nutshell Starterkit in Zukunft als composer project-template angeboten.

Eine erste Version ist bereits im develop-branch zu sehen, außerdem gibt es ein Proof of Concept für einen Nutshell Installer #3

Feedback ist ausdrücklich erwünscht!