أهلا،
في الإصدار الأخير ، لا يعمل المنسق 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 أنا --format message:output.ndjson
وأقرأ هذا الملف output.ndjson
. حتى الآن جيد جدًا ، أفضل بكثير من إخراج JSON السابق يجب أن أقول 👌
@ vincent-psarga - هل يمكننا تحديث cck للتحقق من صحة ذلك كجزء من بناء monorepo؟
فقط للتأكد من فهمي لهذا الأمر بشكل صحيح: قم بتشغيل الإصدار الأخير 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 و html-formatter أن يستهلكا هذه الرسائل.
ألا نفعل هذا بالفعل مع cucumber-ruby and cucumber-jvm؟
آه حسنًا ، لم أرَ أننا كنا في الريبو cucumber-js
(هذه هي المشكلة عند التحقق من الإشعارات على الهاتف ...).
أعتقد أنه سيكون ممكنًا ، لكنني لست متأكدًا من أننا يجب أن نفعل ذلك في monorepo نفسه ، أكثر في هذا المستودع. بالنسبة للياقوت ، لدينا عمليتان اثنتين من عمليات التحقق ضد CCK:
cucumber-ruby
، والتي تتحقق من صحة الخيار روبي الرئيسي مقابل الإصدار الأخير من الرسائل (ولكن يستخدم سيد json-formatter
و html-formatter
)cucumber-ruby
. كان لا بد من تعطيله نظرًا لوجود تناقضات بين إصدار الرسائل المدعومة من cucumber-ruby (يمكن إعادة تمكينه ولكن يجب تعطيله مرة أخرى بعد الإصدار التالي من الرسائل)وبقدر ما أذكر ، تم تنفيذ خطوات JS بالفعل لإنتاج NDJson الذهبي fake-cucumber
، لذلك تم الانتهاء تقريبًا من هذا الجزء (قد يلزم تحديث الواردات فقط)
aslakhellesoy أعمل على # 1318 في الوقت الحالي والذي يضيف التحقق من صحة CCK والتحديثات لأحدث gherkin ، والرسائل وما إلى ذلك. مجرد العمل على الفجوات المتبقية ، وليس لوقت طويل على اليسار - بهدف الانتهاء في اليومين المقبلين. أعتقد أننا سنكون في حالة جيدة لإصدار 7.0.0 بعد ذلك.
أردت التحقق من نيتك باستخدام حزمة javascript CCK في الواقع - لقد لاحظت أنه تم نشرها في npm تحت @cucumber/compatibility-kit
منذ فترة ولكن لم يتم تحديثها منذ فترة. في الوقت الحالي ، أقوم فقط بنسخ الملفات من monorepo للعمل ضدها ، ولكن امتلاك ميزات CCK وتركيبات الرسائل باعتبارها تبعية قد يبدو طريقة لطيفة للقيام بذلك.
شكرًا لك davidjgoss ، ونتطلع إلى التمكن من استخدام الإصدار الجديد. أثناء القيام بذلك ، هذا ما يجب علي فعله لاستخدام الإصدار master
من cucumber-js
. التحدي الرئيسي هو أنه في كل مرة أقوم بتشغيل 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 والتحديثات لأحدث gherkin ، والرسائل وما إلى ذلك. مجرد العمل على الفجوات المتبقية ، وليس لوقت طويل على اليسار - بهدف الانتهاء في اليومين المقبلين. أعتقد أننا سنكون في حالة جيدة لإصدار 7.0.0 بعد ذلك.
أردت التحقق من نيتك باستخدام حزمة javascript CCK في الواقع - لقد لاحظت أنه تم نشرها في npm تحت
@cucumber/compatibility-kit
منذ فترة ولكن لم يتم تحديثها منذ فترة. في الوقت الحالي ، أقوم فقط بنسخ الملفات من monorepo للعمل ضدها ، ولكن امتلاك ميزات CCK وتركيبات الرسائل باعتبارها تبعية قد يبدو طريقة لطيفة للقيام بذلك.