6.6.2 CSS und Javascript
Allgemein
Für die Verwaltung der vom Goobi viewer verwendeten CSS und Javascript Abhängigkeiten wird eine Kombination aus NPM und Grunt verwendet. Sie werden in der package.json
verwaltet.
Vorbereitungen
Bei einer neuen Installation muss sichergestellt sein, dass npm
und die grunt-cli
installiert sind:
Danach können die Abhängigkeiten erstmalig mit dem folgenden Kommando heruntergeladen werden:
Updates prüfen
Mit dem folgenden Kommando kann überprüft werden ob Patches für installierte Abhängigkeiten vorliegen:
Liegt für die Abhängigkeit ein Update vor, so wird dieses wie folgt angezeigt:
Liegt kein Update vor, ist die Ausgabe leer.
Updates installieren
Patch-Releases
npm ist so konfiguriert, dass nur Patch-Versionen installierter Abhängigkeiten eingespielt werden.
Nach einem Update müssen die aktualisierten Pakete aus dem node_modules
Verzeichnis in den Goobi viewer Core kopiert werden:
Major- und Minor Releases
Es sollte vor einem Update geprüft werden, ob bei der Verwendung bestimmter Pakete Besonderheiten zu beachten sind. Angaben dazu befinden sich in der Unterseite 6.6.2.1.
Für die Installation von Major- oder Minor Releases muss diese explizit in der package.json
in dem Abschnitt dependencies angepasst werden. Dies ist hier exemplarisch mit einem Update von TinyMCE 5.9.1 auf 5.10.0 gezeigt:
Anzeigen des Updates
Aktualisieren der package.json
Installieren der neuen Library
Übernahme in den Goobi viewer Core
Abhängigkeit hinzufügen
Um eine neue Abhängigkeit hinzuzufügen muss folgendes passieren:
Installation der neuen Abhängigkeit
Anpassen des SemVer-Präfix in der package.json
npm installiert neue Pakete standardmäßig mit dem ^
Prefix. Dieses muss manuell zur Tilde ~
geändert werden, um nur Patch-Versions zu aktualisieren.
Hinzufügen von Pfaddefinition in copyDeps Task
Damit die Dateien korrekt kopiert werden müssen in der grunt/copyPaths.js
die entsprechenden Pfaddefinitionen hinzugefügt werden.
Übernahme in den Goobi viewer Core
Last updated