Post-Setup für create-expo-app

René Wilby | 02.01.2024 Min. Lesezeit

Wiederkehrende Aufgaben automatisieren

Die Vorlesungen und Kurse, die ich als Dozent bzw. Trainer gebe, behandeln die Entwicklung von Apps mit React Native, Expo und JavaScript. Code-Beispiele und Live-Coding-Sessions sind dabei ein wichtiger Bestandteil der Wissensvermittlung. Daher erstelle ich sehr oft Beispiel-Projekte und zeige dann in diesen Projekten bestimmte Aspekte der App-Entwicklung mit React Native und Expo. Die Erstellung neuer Projekte erfolgt über die das CLI-Tool create-expo-app:

npx create-expo-app my-app

Nachdem das Projekt erstellt wurde, gibt es noch ein paar Dinge zu tun, bevor ich in die eigentliche Entwicklung bzw. Coding-Session einsteige:

  • Einen Linter für JavaScript installieren und konfigurieren, um während der Entwicklung direkt auf mögliche (Tipp-)Fehler oder Unsauberkeiten hingewiesen zu werden.
  • Einen Code-Formatierer installieren und konfigurieren, um stets einen einheitlichen formatierten Quellcode zu haben, der gut lesbar ist.

Für meine Arbeit nutze ich ESLint als Linter und Prettier für die Code-Formatierung. Beide Tools lassen sich bspw. per npm installieren und anschließend über eine Konfigurationsdatei an die eigenen Bedürfnisse anpassen. Da diese Installation und Konfiguration jedoch stets ein paar manuelle Schritte und etwas Zeit erfordern, habe ich mir für meine Arbeit in kleines Skript geschrieben, dass diese Aufgaben automatisiert ausführt.

Ein Shell-Skript zur Automatisierung

Nach der Erstellung eines neuen Projektes mittels create-expo-app kann ich das Skript folgendermaßen aufrufen:

curl -s "https://raw.githubusercontent.com/rbrki07/create-expo-app-post-setup/main/run.sh" | bash

Das Skript erledigt folgende Aufgaben automatisiert:

Fazit

Mit Hilfe des Shell-Skriptes kann ich jedes neue Beispiel-Projekt in Sekunden so erweitern, dass ESLint und Prettier installiert und nach meinen Bedürfnissen eingerichtet werden. Dies gibt mir die Sicherheit und den Komfort, den ich gerne für Code-Beispiele und Live-Coding-Sessions in meinen Vorlesungen und Kursen habe.

Der Quellcode für das Skript ist bei GitHub verfügbar.

Update 05.04.2024

Das Skript installiert zusätzlich simple-git-hooks und richtet anschließend einen Pre-Commit-Hook ein, der automatisch ESlint und Prettier ausführt, um zu überprüfen, ob der Code den konfigurierten Vorgaben entspricht.