메인 콘텐츠로 바로가기

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 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에 변경 사항이 있을 때마다 데이터베이스 마이그레이션을 생성해야 합니다. 자세한 내용은 Database Migration를 참조하세요.