メインコンテンツにスキップ

PRチェックリスト

このリポジトリには最小限のdevcontainerが提供されています。このコンテナ内で直接すべてのコマンドを実行することで、環境の面倒なインストールを回避できます。

警告

提供されているdevcontainerは現時点では完全ではありません。少なくともMakefile内のすべてのdockerizedステップは動作しません(make devなど)。ぜひ貢献してください!

プルリクエストを通じてコードを提供する際は、以下の項目をご確認ください:

Webチェック

  • npm run lint (ESLintによるリント)
  • npm run format (Prettierによるフォーマット)
  • npm run check:svelte (SvelteKitによる型チェック)
  • npm run check:typescript (TypeScriptの型チェック)
  • npm test (単体テスト)

ドキュメント

  • npm run format (Prettierによるフォーマット)
  • ページの名前を変更したり、ドキュメントから削除した場合は_redirectsファイルを更新してください。
AIO

npm run check:allですべてのWebチェックを実行できます。

サーバーチェック

  • npm run lint (ESLintによるリント)
  • npm run format (Prettierによるフォーマット)
  • npm run check (tscによる型チェック)
  • npm test (単体テスト)
AIO

npm run check:allですべてのサーバーチェックを実行できます。

自動修正

npm run __:fixを使用すると、npm run formatlintに関連する問題の一部を自動的に修正できる場合があります。

モバイルチェック

以下のコマンドは、コードベースのモバイルアプリディレクトリ内から実行する必要があります。

  • make build (build_runnerを使用したファイルの自動生成)
  • make analyze (Dart AnalyzerとDCMによる静的解析)
  • make format (Dart Formatterによるフォーマット)
  • make test (単体テスト)
自動修正

dart fix --applydcm fix libを使用すると、make analyzeに関連する問題の一部を自動的に修正できる場合があります。

OpenAPI

immich-openapi-specs.jsonファイルに変更があった場合、OpenAPIクライアントライブラリを再生成する必要があります。このファイルを直接変更してはいけません。これは自動生成されています。詳細についてはOpenAPIをご覧ください。

データベースマイグレーション

server/src/infra/src/entitiesに変更があった場合、データベースマイグレーションを生成する必要があります。詳細についてはデータベースマイグレーションをご覧ください。