你好呀,
不幸的是,在最新版本中, message
格式化程序不起作用。 它在master
,这是个好消息。 现在是发布的好时机吗? :)
谢谢💜
在剪切发布之前,应升级以下内容:
"cucumber-expressions": "^8.3.0"
-> "@cucumber/cucumber-expressions": "^10.2.0"
"cucumber-messages": "^8.0.0"
-> "@cucumber/messages": "^12.1.1"
"cucumber-tag-expressions": "^2.0.3"
-> "@cucumber/tag-expressions": "^3.0.0"
"gherkin": "^9.0.0"
-> "@cucumber/gherkin": "^13.0.0"
如果要在没有这些升级的情况下进行发布,则message
格式化程序生成的消息将与cucumber-html
、 json-formatter
的最新版本以及任何其他依赖于@cucumber/messages
最新版本。 这对我认为的任何人都没有用。
@aslakhellesoy我实际上是将它们与我自己的解析器一起使用,将它们集成到自动生成的文档中(在 mkdocs 的插件中),所以我正在使用--format message:output.ndjson
并读取该output.ndjson
文件。 到目前为止一切顺利,比之前的 JSON 输出要好得多我必须说 👌
@vincent-psarga - 我们可以更新 cck 以验证它是 monorepo 构建的一部分吗?
只是为了确保我正确理解这一点:针对messages
的发布运行最新版本的xxx-formatter
messages
以确保我们不会跳过格式化程序的发布?
这绝对是有道理的。 虽然我不知道这是否应该成为 CCK 的一部分或每个格式化程序的第二个 CI 作业。
@sroze非常酷! 请记住,在@cucumber/messages
库中存在一些向后不兼容的更改,从8.0.0
到12.1.1
。 它也已更名。 任何依赖于它的库也必须更新。
其他 Cucumber 实现(JVM/Java 和 Ruby)使用最新版本的消息库,因此您的工具将无法使用它们。
@sroze你有你的项目的链接吗?
@vincent-psarga 我建议我们可以验证cucumber.js 是否符合我们的cck。 我们必须实现步骤定义,使用消息格式化程序运行cucumber.js,然后检查json-formatter 和html-formatter 是否都可以使用这些消息。
我们不是已经在为 Cucumber-ruby 和 Cucumber-jvm 做这件事了吗?
啊好吧,我没有看到我们在cucumber-js
回购中(这是检查电话通知时的问题......)。
我想这是可行的,但我不确定我们是否应该在 monorepo 本身中这样做,更多的是在这个存储库中。 对于 ruby,我们针对 CCK 运行了两个验证:
cucumber-ruby
,它根据最新版本的消息验证黄瓜红宝石主控(但使用json-formatter
和html-formatter
的主控)cucumber-ruby
的最新版本。 它必须被禁用,因为受支持的 Cucumber-ruby 消息版本之间存在差异(它可以重新启用,但在下一次消息发布后必须再次禁用)据我所知,JS 步骤已经实现,用于使用fake-cucumber
生成金色 NDJson,所以这部分几乎完成(只有导入可能需要更新)
@aslakhellesoy我现在正在处理 #1318,它增加了针对 CCK 的验证以及对最新小黄瓜、消息等的更新。只是解决剩余的空白,不长 - 目标是在接下来的几天内完成。 我认为在那之后我们会很好地发布 7.0.0。
我实际上想用javascript CCK 包检查您的意图 - 我注意到它不久前在@cucumber/compatibility-kit
下发布到 npm 但有一段时间没有更新。 现在我只是从 monorepo 复制文件以进行工作,但是将 CCK 功能和消息装置作为依赖项似乎是一个很好的方法。
谢谢@davidjgoss ,期待能够使用新版本。 在完成此操作时,这是我必须执行的操作才能使用cucumber-js
的master
版本。 主要的挑战是,每次我再次运行npm i
时, npm
抱怨node_modules/cucumber
是一个 Git 存储库。 你知道更好的方法吗? 🤔
diff --git a/package.json b/package.json
index e78cd20..8702cb7 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,8 @@
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-migratio
ns-config.ts",
"typeorm:migrate": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-
migrations-config.ts migration:run",
"typeorm:revert": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-m
igrations-config.ts migration:revert",
- "pod:migrate": "node ./node_modules/typeorm/cli.js -f dist/orm-migrations-config.js migration:run"
+ "pod:migrate": "node ./node_modules/typeorm/cli.js -f dist/orm-migrations-config.js migration:run",
+ "postinstall": "cd node_modules && mv cucumber cucumber-old && git clone https://github.com/cucumber/cucumber-js && mv cucumber-js cucumber && cd cucumber && npm i && npm run build-local && cd ../.."
},
"dependencies": {
@@ -86,7 +87,7 @@
"@typescript-eslint/eslint-plugin": "^3.4.0",
"@typescript-eslint/parser": "^3.4.0",
"common-tags": "^1.8.0",
- "cucumber": "^6.0.5",
+ "cucumber": "cucumber/cucumber-js#master",
"cucumber-pretty": "^6.0.0",
"cucumber-tsflow": "^3.2.0",
"eslint": "^7.3.1",
我可以烦人并追逐以下内容以减少发布吗?
testResult
-> testStepResult
问题)我们实际上确实发布了@sroze。 试试@cucumber/cucumber
- 这是一个预发行版。 有关如何更新,请参阅迁移指南。
哦,太好了,我试试,谢谢! 不知道因为没有推标签🙃
感谢@sroze 的提醒- 我确实忘记推送标签了。 现在好了。
对这样的软件包有什么想法可以帮助更多人发现新版本吗?
7.0.0 现已发布,请参阅变更日志以获取迁移说明。 谢谢!
最有用的评论
@aslakhellesoy我现在正在处理 #1318,它增加了针对 CCK 的验证以及对最新小黄瓜、消息等的更新。只是解决剩余的空白,不长 - 目标是在接下来的几天内完成。 我认为在那之后我们会很好地发布 7.0.0。
我实际上想用javascript CCK 包检查您的意图 - 我注意到它不久前在
@cucumber/compatibility-kit
下发布到 npm 但有一段时间没有更新。 现在我只是从 monorepo 复制文件以进行工作,但是将 CCK 功能和消息装置作为依赖项似乎是一个很好的方法。