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 format
和 lint
。
移動端檢查
以下命令需在代碼庫的移動應用目錄中執行。
-
make build
(使用 build_runner 自動生成文件) -
make analyze
(使用 Dart 分析器和 DCM 進行靜態分析) -
make format
(使用 Dart 格式化工具進行格式化) -
make test
(單元測試)
自動修復
您可以使用 dart fix --apply
和 dcm fix lib
來嘗試自動修正一些可能存在的問題,例如 make analyze
。
OpenAPI
每當 immich-openapi-specs.json
文件有更改時,都需要重新生成 OpenAPI 客戶端庫。請注意,不要直接修改此文件,因為它是自動生成的。詳情請參見 OpenAPI。
數據庫遷移
每當 server/src/infra/src/entities
發生更改時,都需要生成數據庫遷移。詳情請參見 數據庫遷移。