Проблемы и запросы на включение приветствуются. Пожалуйста, сначала проверьте 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
Мы используем действия GitHub для запуска процесса CI. Посмотреть визуализацию рабочего процесса можно здесь.
Номера версий будут автоматически увеличиваться в зависимости от сообщений о фиксации и SemVer (Major.Minor.Patch). При слиянии добавьте к коммиту слияния следующее:
major:
или breaking:
— например, breaking: removing feature X
Это увеличит ОСНОВНУЮ версию, например: с 1.1.0 до 2.0.0.minor:
или feature:
— например, feature: new component
. Это увеличит МИНОРНУЮ версию, например: с 1.1.0 до 1.2.0.patch:
или fix:
- например, fix: url bug
- это увеличит версию PATCH - например: с 1.0.0 до 1.0.1 (это также произойдет по умолчанию) Рабочий процесс разработки запускается каждый раз, когда PR объединяется с основным, и вы можете отслеживать его на вкладке действий репозитория.
Рабочий процесс содержит два отдельных задания, которые выполняются параллельно: одно для приложения Runner, а другое для приложения Designer.
Обе работы работают следующим образом:
Последние релизы будут запускаться здесь: Runner/Designer.
Для всех PR проводится комплекс дымовых тестов. Существует задание Cron, которое выполняет дымовые тесты для развертываний Heroku и должно запускаться в полночь каждый день.
Устаревший набор дымовых тестов можно найти в этом репозитории. Они были удалены, чтобы проект мог работать на узле 18.
Дымовые тесты будут перенесены на использование cypress.io в ближайшие месяцы.