跳到主要内容

PR 檢查清單

此倉庫提供了一個基本的 devcontainer。所有操作都可以直接在此容器中執行,以避免繁瑣的環境安裝。

警告

目前提供的 devcontainer 還不完整。至少 Makefile 中的所有 Docker 化步驟 (make dev, ....) 都無法使用。歡迎貢獻!

通過拉取請求提供代碼時,請檢查以下事項:

網頁檢查

  • 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 可以運行所有的網頁檢查。

伺服器檢查

  • 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 分析器和 DCM 進行靜態分析)
  • make format (使用 Dart 格式化工具進行格式化)
  • make test (單元測試)
自動修復

您可以使用 dart fix --applydcm fix lib 來嘗試自動修正一些可能存在的問題,例如 make analyze

OpenAPI

每當 immich-openapi-specs.json 文件有更改時,都需要重新生成 OpenAPI 客戶端庫。請注意,不要直接修改此文件,因為它是自動生成的。詳情請參見 OpenAPI

數據庫遷移

每當 server/src/infra/src/entities 發生更改時,都需要生成數據庫遷移。詳情請參見 數據庫遷移