跳转到主要内容

PR 检查清单

该仓库提供了一个最小化的开发容器。所有命令都可以直接在这个容器中执行,以避免繁琐的环境安装。

警告

目前提供的开发容器还不完善。至少 Makefile 中的所有 Docker 化步骤(例如 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 时,需要生成数据库迁移。有关更多信息,请参阅 数据库迁移