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 format
和 lint
中的一些问题。
移动端检查
以下命令需要从代码库的移动应用目录中执行。
-
make build
(通过 build_runner 自动生成文件) -
make analyze
(通过 Dart Analyzer 和 DCM 执行静态分析) -
make format
(通过 Dart Formatter 格式化代码) -
make test
(单元测试)
自动修复
您可以使用 dart fix --apply
和 dcm fix lib
来自动修复 make analyze
中的一些问题。
OpenAPI
每当 immich-openapi-specs.json
文件发生变化时,需要重新生成 OpenAPI 客户端库。请注意,您不应直接修改此文件,因为它是自动生成的。有关更多详细信息,请参阅 OpenAPI。
数据库迁移
每当修改 server/src/infra/src/entities
时,需要生成数据库迁移。有关更多信息,请参阅 数据库迁移。