欢迎提出问题和拉取请求。请先检查 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
、 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.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。