Open Source Software

node_modules Ordnergröße verringern

yarnpkg

Mit dem JavaScript Paketmanager npm bzw. dessen Facebook Tool yarn ist es praktisch zu arbeiten. Mit ein paar Konsolen Befehle können auf einen Schlag viele praktische Entwicklungstools herunterladen werden, ohne auf Paket Updates verzichten zu müssen. Das ganze funktioniert ähnlich dem PHP Composer oder pip aus Python.

Als unpraktisch wird von vielen die Größe des node_modules Ordners angesehen. Durch die vielen Abhängigkeiten wird oft nicht nur das angeforderte Paket heruntergeladen, sondern auch dessen Abhängigkeiten. So kann es schnell passieren, dass mit einem angeforderten Paket noch andere Pakete im Hintergrund heruntergeladen werden. Grundsätzlich ist dies nicht schlecht, nur werden neben den Hauptdateien auch alle anderen Dateien im Paket mit heruntergeladen. Zu diesen gehören unter anderem Dokumentationen, Test- und Beispieldateien. Im Prinzip Dateien die im produktiv Einsatz nicht benötigt werden und unnötig Speicherplatz verbrauchen. Bein drei Paketen stört dies vielleicht nicht jeden, doch bei umfangreichere Projekte mit 50 Abhängigkeiten und mehr landen schon mal ca. 10MB unnötige Dateien in das Projekt, die nicht benötigt werden.

Zur Bereinigung unnötige Dateien gibt es yarn autoclean. Mit dem Befehl werden alle Dateien, die in einer .yarnclean Datei definiert sind, automatisch entfernt. Durch die Bereinigung lassen sich mehrere MB pro Projekt einsparen.

yarn autoclean

Wichtig: Für die Anwendung von autoclean muss yarn installiert sein.

Als aller erstes muss definiert werden, welche Dateien automatisch entfernt werden dürfen. Über das Argument init wird eine .yarnclean Datei generiert:

yarn autoclean --init

In der nun erstellten .yarnclean Datei stehen schon einige Dateinamen und Dateiendungen. In erster Linie geht es darum Test-, Dokumentations- und Beispieldateien automatisch zu entfernen. Manuell kann man die Datei beliebig anpassen oder erweitern. Wird in der .yarnclean zum Beispiel nur die Endung *.md angegeben, werden auch nur Dateien mit der Endung .md entfernt.

Zum Aufräumen des node_modules Ordners wird folgender Befehl ausgeführt:

yarn autoclean --force

Dieser lösche aus dem node_modules Ordner alle in der .yarnclean angegeben Dateien.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.