歡迎提出問題和拉取請求。請先檢查 CONTRIBUTING.md!
該存儲庫是一個單一存儲庫
這些儲存庫是從 DEFRA 的數位表單產生器中分叉出來的。
這是一個(接近)零安裝的yarn 2 工作空間儲存庫。 .yarnrc.yml 允許我們調整紗線環境。請在 .yarn 中提交任何插件,但不要提交您的 .yarn/cache。 CI 將保存和恢復快取。
工作區將處理包的符號鏈接,因此我們不必手動運行yarn link
。它還將處理在儲存庫之間共享的任何套件的節點模組提升,從而減少安裝時間。希望一切順利™️。
另請參閱各個儲存庫自述文件以獲取更多資訊:
始終從根目錄運行腳本。
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
$ yarn rebuild
fsevents
、 nodemailer
等方面$ yarn rebuild only node-sass
此問題。
我們使用 GitHub 作業來執行我們的 CI 流程。在此處查看工作流程的視覺化。
版本號碼將根據提交訊息和 SemVer (Major.Minor.Patch) 自動遞增。合併時,在合併提交前添加以下內容:
major:
或breaking:
- 例如, breaking: removing feature X
。這將增加主要版本 - 例如:1.1.0 到 2.0.0minor:
或feature:
- 例如, feature: new component
。這將增加次要版本 - 例如:1.1.0 到 1.2.0patch:
或fix:
- 例如, fix: url bug
- 這將增加 PATCH 版本 - 例如:1.0.0 到 1.0.1(預設也會發生這種情況) 每當 PR 合併到 main 中時,就會觸發開發工作流程,您可以在儲存庫的操作標籤上監視它。
此工作流程包含兩個並行運行的獨立作業,一個用於 Runner,另一個用於 Designer 應用程式。
兩項工作的工作原理如下:
最新版本將在這裡運行:Runner / Designer。
針對所有 PR 執行一組冒煙測試。有一個 Cron Job 對 Heroku 部署執行冒煙測試,並計劃在每天午夜運行。
可以在此儲存庫中找到舊版冒煙測試套件。它們已被刪除,以便該項目可以在節點 18 上運行。
未來幾個月,冒煙測試將遷移至使用 cypress.io。