PR 체크리스트
이 저장소에는 최소한의 개발 컨테이너가 제공됩니다. 모든 명령은 이 컨테이너 내에서 직접 실행할 수 있어 환경 설치의 번거로움을 피할 수 있습니다.
경고
현재 제공된 개발 컨테이너는 완전하지 않습니다. 최소한 Makefile의 모든 도커화된 단계(make dev
, ....)는 작동하지 않습니다. 기여 환영합니다!
코드를 풀 리퀘스트를 통해 기여할 때 다음을 확인하세요:
웹 체크리스트
-
npm run lint
(ESLint를 통한 린팅) -
npm run format
(Prettier를 통한 포맷팅) -
npm run check:svelte
(SvelteKit를 통한 타입 체크) -
npm run check: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 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
에 변경 사항이 있을 때마다 데이터베이스 마이그레이션을 생성해야 합니다. 자세한 내용은 Database Migration를 참조하세요.