Zum Hauptinhalt springen

PR-Checkliste

Ein minimaler Devcontainer wird mit diesem Repository bereitgestellt. Alle Befehle können direkt in diesem Container ausgeführt werden, um eine mühsame Installation der Umgebung zu vermeiden.

Der bereitgestellte Devcontainer ist momentan nicht vollständig. Mindestens alle dockerisierten Schritte in der Makefile funktionieren nicht (make dev, ....). Zögern Sie nicht, einen Beitrag zu leisten!

Beim Beitragen von Code über eine Pull-Anfrage überprüfen Sie bitte Folgendes:

Web-Checks

  • npm run lint (Linting mit ESLint)
  • npm run format (Formatierung mit Prettier)
  • npm run check:svelte (Typprüfung mit SvelteKit)
  • npm run check:typescript (Typescript prüfen)
  • npm test (Unit-Tests)

Dokumentation

  • npm run format (Formatierung mit Prettier)
  • Aktualisieren Sie die _redirects-Datei, wenn Sie eine Seite umbenannt oder sie aus der Dokumentation entfernt haben.

:::Tipp AIO Führen Sie alle Web-Checks mit npm run check:all aus :::

Server-Checks

  • npm run lint (Linting mit ESLint)
  • npm run format (Formatierung mit Prettier)
  • npm run check (Typprüfung mit tsc)
  • npm test (Unit-Tests)

:::Tipp AIO Führen Sie alle Server-Checks mit npm run check:all aus :::

Automatische Korrektur

Sie können npm run __:fix verwenden, um möglicherweise einige Probleme automatisch zu korrigieren für npm run format und lint.

Mobile-Checks

Die folgenden Befehle müssen aus dem mobilen App-Verzeichnis des Code-Basis heraus ausgeführt werden.

  • make build (Dateien automatisch generieren mit build_runner)
  • make analyze (Statische Analyse mit Dart Analyzer und DCM)
  • make format (Formatierung mit Dart Formatter)
  • make test (Unit-Tests)
Automatische Korrektur

Sie können dart fix --apply und dcm fix lib verwenden, um möglicherweise einige Probleme automatisch zu korrigieren für make analyze.

OpenAPI

Die OpenAPI-Client-Bibliotheken müssen neu generiert werden, wenn es Änderungen an der Datei immich-openapi-specs.json gibt. Beachten Sie, dass Sie diese Datei nicht direkt ändern sollten, da sie automatisch generiert wird. Weitere Details finden Sie unter OpenAPI.

Datenbank-Migrationen

Eine Datenbank-Migration muss generiert werden, wenn es Änderungen an server/src/infra/src/entities gibt. Weitere Details finden Sie unter Datenbank-Migration.