Cucumber-js: リリースの時間ですか? `message`フォーマッタは最新では機能しませんが、` master`では機能します

作成日 2020年06月22日  ·  14コメント  ·  ソース: cucumber/cucumber-js

やあ、

最新のリリースでは、残念ながらmessageフォーマッターは機能しません。 それはmaster 、これは素晴らしいニュースです。 リリースの良い時期でしょうか? :)

ありがとう💜

fixed-in-7

最も参考になるコメント

@aslakhellesoy私は現在#1318に取り組んでおり、CCKに対する検証を追加し、最新のガーキン、メッセージなどを更新しています。残りのギャップを処理するだけで、長くはありません。次の数日で終了することを目指しています。 その後、7.0.0をリリースするのは良い状態になると思います。

実際にjavascriptCCKパッケージであなたの意図を確認したかったのですが、しばらく前に@cucumber/compatibility-kit npmに公開されたのに気づきましたが、しばらく更新されていません。 今のところ、私はモノレポからファイルをコピーして対処していますが、CCK機能とメッセージフィクスチャを依存関係として持つことはそれを行うための良い方法のように思えます。

全てのコメント14件

こんにちは@ sroze-生成されたメッセージをコンシューマーでテストしましたか? もしそうなら、どれですか?

生成された出力が次のように機能することを確認したいと思います。

@ vincent-psarga-モノレポビルドの一部としてこれを検証するためにcckを更新できますか?

リリースをカットする前に、以下をアップグレードする必要があります。

  • "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-htmljson-formatter 、およびその他に依存するものの最新リリースと互換性がありません。 @cucumber/messages最新バージョン。 そして、それは私が思う誰にとっても役に立たないでしょう。

@aslakhellesoy私は実際にそれらを自分のパーサーと一緒に使用して、自動生成されたドキュメント(mkdocsのプラグイン)に統合しているので、 --format message:output.ndjsonを使用してそのoutput.ndjsonファイルを読み取っています。 これまでのところ、以前のJSON出力よりもはるかに優れています👌

@ vincent-psarga-モノレポビルドの一部としてこれを検証するためにcckを更新できますか?

これを正しく理解していることを確認するために、最新リリースxxx-formattermessagesのリリースに対して実行して、フォーマッターのリリースをスキップしないようにしますか?
それは間違いなく理にかなっています。 それがCCKの一部なのか、各フォーマッターの2番目のCIジョブなのかはわかりませんが。

@srozeとてもかっこいい! @cucumber/messagesライブラリに8.0.0から12.1.1への後方互換性のない変更がいくつかあることに注意してください。 また、名前が変更されました。 それに依存するライブラリも更新する必要があります。

他のCucumber実装(JVM / JavaおよびRuby)は、最新バージョンのメッセージライブラリを使用するため、ツールはそれらを使用できません。

@srozeプロジェクトへのリンクはありますか?

@ vincent-psargacucumber.jsがcckに準拠していることを確認できることを提案していました。 ステップ定義を実装し、メッセージフォーマッターでcucumber.jsを実行してから、json-formatterとhtml-formatterの両方がそれらのメッセージを消費できるかどうかを確認する必要があります。

これは、cucumber-rubyとcucumber-jvmに対してすでに行っていませんか?

ああ、私たちがcucumber-jsリポジトリにいるのを見ていませんでした(これは電話で通知を確認するときの問題です...)。

それは実行可能だと思いますが、monorepo自体、さらにこのリポジトリで実行する必要があるかどうかはわかりません。 ルビーの場合、CCKに対して2つの検証が実行されます。

  • 1つはcucumber-rubyで実行され、最新リリースのメッセージに対してキュウリのルビーマスターを検証します(ただし、 json-formatterhtml-formatterのマスターを使用します)
  • 1つは、現在のメッセージマスターと最新リリースのcucumber-rubyを使用するmonorepoで実行されます。 サポートされているメッセージバージョンのcucumber-rubyの間に矛盾があったため、無効にする必要がありました(再度有効にすることはできますが、メッセージの次のリリース後に再度無効にする必要があります)

そして、私が覚えている限り、JSステップはfake-cucumberでゴールデンNDJsonを生成するためにすでに実装されているので、この部分はほぼ完了しています(インポートのみを更新する必要がある場合があります)

@aslakhellesoy私は現在#1318に取り組んでおり、CCKに対する検証を追加し、最新のガーキン、メッセージなどを更新しています。残りのギャップを処理するだけで、長くはありません。次の数日で終了することを目指しています。 その後、7.0.0をリリースするのは良い状態になると思います。

実際にjavascriptCCKパッケージであなたの意図を確認したかったのですが、しばらく前に@cucumber/compatibility-kit npmに公開されたのに気づきましたが、しばらく更新されていません。 今のところ、私はモノレポからファイルをコピーして対処していますが、CCK機能とメッセージフィクスチャを依存関係として持つことはそれを行うための良い方法のように思えます。

@davidjgossに感謝します。新しいバージョンを使用できることを楽しみにしています。 これが行われている間、これはcucumber-jsmasterバージョンを使用するために私がしなければならないことです。 主な課題は、 npm i再度実行するたびに、 npmnode_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",

リリースをカットするために、次のことを煩わしく追いかけてもいいですか?

  1. ✅@ aslakhellesoy依存関係は実際にアップグレードされました。
  2. ✅@ davidjgossのCCKに関する(大規模な)作業がマージされました(これにより、 testResult -> testStepResult問題が正しく識別されました)

私たちは実際にリリース@srozeをカットしました。 @cucumber/cucumber試してみてください-これはプレリリースです。 更新方法については、移行ガイドを参照してください。

ああ、やってみます、ありがとう! タグがプッシュされていないのでわかりませんでした🙃

ヘッズアップ@srozeをありがとう-私は確かにタグを押すのを忘れていました。 今です。

より多くの人々が新しいバージョンを発見するのを助けるために、このようなパッケージについて何か考えはありますか?

7.0.0がリリースされました。移行手順については、変更ログを参照し

このページは役に立ちましたか?
0 / 5 - 0 評価