문제 및 풀 요청을 환영합니다. CONTRIBUTING.md를 먼저 확인해주세요!
이 저장소는 다음을 위한 모노 저장소입니다.
저장소는 DEFRA의 디지털 양식 작성기에서 분기됩니다.
이것은 설치가 필요 없는 Yarn 2 작업 공간 저장소입니다. .yarnrc.yml을 사용하면 원사 환경을 정렬할 수 있습니다. .yarn의 모든 플러그인을 커밋하세요. 단, .yarn/cache는 커밋하지 마세요. CI는 캐시를 저장하고 복원합니다.
작업공간은 패키지의 심볼릭 링크를 처리하므로 yarn link
수동으로 실행할 필요가 없습니다. 또한 저장소 간에 공유되는 모든 패키지에 대해 node_modules를 끌어올리는 작업을 처리하므로 설치 시간이 단축됩니다. 모든 것이 제대로 작동하기를 바랍니다™️.
추가 정보는 개별 저장소 README 파일을 참조하세요.
항상 루트 디렉터리에서 스크립트를 실행하십시오.
node --version
사용하고 있는지 확인하세요.NODE_ENV=development
설정(runner/config/development.json 참조)으로 러너를 실행하도록 요구합니다.$ yarn
명령을 실행하여 모든 작업 공간에 모든 종속성을 설치합니다.$ yarn build
실행하여 모든 작업 공간을 빌드합니다(종속성이 서로 의존할 수 있기 때문에 필요합니다).이미 언급한 것처럼 항상 루트 디렉터리에서 스크립트를 실행하세요. 작업 공간에는 폴더 내부에서 실행해야 하는 스크립트나 패키지가 없기 때문에 루트 디렉터리에서 실행하면 Yarn 2가 스크립트/패키지를 적절하게 확인할 수 있습니다.
작업공간에 대해 자세히 알아보려면 다음 링크를 확인하세요.
$ yarn [runner|designer|model] name-of-script
예: yarn designer start
또는 yarn runner add babel-core --dev
$ yarn workspaces foreach run name-of-script
강력한 프로세서가 없으면 권장하지 않습니다.
$ yarn watch
$ yarn add packagename
$ mkdir myNewLib
$ cd myNewlib
$ yarn init
package.json
에서myNewLib
workspaces
개체에 추가합니다. 문제가 있는 경우 문제를 제출하거나 Gitter를 통해 메시지를 보내주세요.
/vendor
빌드 또는 재빌드되지 않았기 때문에 존재하지 않습니다. core-js
, fsevents
, nodemailer
등에서도 이 문제가 발생할 수 있습니다. 모든 패키지를 재구축하기 위한 $ yarn rebuild
$ yarn rebuild only node-sass
만 재구축하기 위한 node-sass
우리는 CI 프로세스를 실행하기 위해 GitHub 작업을 사용하고 있습니다. 여기에서 워크플로 시각화를 확인하세요.
버전 번호는 커밋 메시지와 SemVer(Major.Minor.Patch)에 따라 자동으로 증가합니다. 병합할 때 병합 커밋 앞에 다음을 추가하세요.
major:
또는 breaking:
- 예를 들어 breaking: removing feature X
. 이렇게 하면 MAJOR 버전이 증가합니다(예: 1.1.0에서 2.0.0).minor:
또는 feature:
- 예를 들어 feature: new component
. 이렇게 하면 MINOR 버전이 증가합니다(예: 1.1.0에서 1.2.0으로).patch:
또는 fix:
- 예를 들어 fix: url bug
- PATCH 버전이 증가합니다. - 예: 1.0.0에서 1.0.1(기본적으로 발생함) PR이 메인에 병합될 때마다 개발 워크플로가 트리거되며 저장소의 작업 탭에서 모니터링할 수 있습니다.
워크플로우에는 병렬로 실행되는 두 개의 개별 작업이 포함되어 있습니다. 하나는 Runner용이고 다른 하나는 Designer 애플리케이션용입니다.
두 작업 모두 다음과 같이 작동합니다.
최신 릴리스는 Runner / Designer에서 실행됩니다.
모든 PR에 대해 일련의 연기 테스트가 실행됩니다. Heroku 배포에 대해 스모크 테스트를 실행하고 매일 자정에 실행되도록 예약된 Cron 작업이 있습니다.
이 저장소에서 레거시 연기 테스트 모음을 찾을 수 있습니다. 프로젝트가 노드 18에서 실행될 수 있도록 제거되었습니다.
연기 테스트는 앞으로 몇 달 안에 cypress.io를 사용하도록 마이그레이션될 예정입니다.