기여하기.
DXPR Builder 개발은 GitHub의 github.com/dxpr/dxpr_builder에서 이루어집니다. 모든 기여는 저장소의 CONTRIBUTING.md에 설명된 워크플로를 따릅니다.
Git 워크플로
- 모든 풀 리퀘스트는 GitHub 이슈에 연결되어야 합니다.
- 브랜치 이름 규칙:
person/target-branch/#issue-description(예:jur/3.x/#42-fix-carousel-autoplay) - 다음에 따라 원자적 커밋을 작성합니다. alphagov Git styleguide
- 풀 리퀘스트에는 해결 방법에 대한 짧은 설명이 포함되어야 합니다.
- 변경은 이슈 범위 안에 유지합니다. 관련 없는 서식 정리나 리팩터링을 포함하지 않습니다.
코드 오너
@jjroelofs가 코드 오너입니다. 해당 리뷰 없이는 어떤 풀 리퀘스트도 병합할 수 없습니다.
코딩 표준
- PHP: Drupal coding standards
- JavaScript: ES6+ 전용(새 코드에
var없음, jQuery 없음). 프로젝트 예외와 함께 Airbnb JavaScript coding standards를 따릅니다. - CSS: 사용자 정의 속성과 토큰 이름용 Design System을 따릅니다.
- 요소의
showed메서드를 변경하면 업데이트된dxpr_frontend.js를 포함해야 합니다. 컨테이너의 저장 버튼을 클릭할 때 에디터가 브라우저 콘솔에 출력하는 전체 출력에서 생성합니다. - 새 기능에는 QA Analytics 커버리지가 필요합니다.
복제 뒤에 npm install을 한 번 실행합니다. 스테이징된 파일을
검사하는 Husky pre-commit 훅이 설치됩니다.
Testing을
참조합니다.
E2E 테스트 실행하기
테스트는 PR 댓글의 슬래시 명령어로 실행합니다.
| Command | Description |
|---|---|
/e2e |
전체 BS5 에디터 및 익명 스위트를 실행합니다. |
/e2e groups=group-name |
특정 테스트 그룹을 실행합니다. |
/e2e tests=ClassName |
특정 테스트 클래스를 실행합니다. |
/e2e-bs3 |
BS3 에디터 스위트를 실행합니다. |
/e2eV2 |
DXPR CMS 스택에서 BS5 스위트를 실행합니다. |
/e2e maven_ref=branch |
사용자 정의 dxpr_maven 브랜치로 테스트합니다. |
빌더 변경에 테스트 변경이 필요하면 QA 엔지니어가 브랜치에서
dxpr_maven을 업데이트하고, 풀 리퀘스트에서 /e2e maven_ref=<branch>을
실행합니다. 빌더 풀 리퀘스트가 먼저 병합된 뒤
dxpr_maven 풀 리퀘스트가 병합됩니다.
리뷰 요청 전
- 변경 사항을 구현합니다.
- 꼼꼼히 테스트합니다.
- 정리/리팩터링을 한 차례 수행합니다.
- 깨진 부분이 없는지 다시 테스트합니다.
- 깔끔한 git 기록으로 커밋하고 푸시합니다.
- 린터 검사가 통과하는지 확인합니다.
- PR에
/e2e를 댓글로 달아 회귀 테스트를 실행합니다. - 모든 검사가 통과한 뒤 리뷰를 요청합니다.