timjroberts/cucumber-js-tsflow

Use @cucumber/cucumber instead of cucumber

stanecli opened this issue · 6 comments

Hi.
Although it is quite unreasonable for me why they moved the package in the first place, the title says it all: the 'cucumber' package is deprecated, @cucumber/cucumber is the new one. The two versions are the same (7.0.0-rc.0), so it's not a show stopper, for now.. It's just quite frustrating when you just want to try something out and it doesn't work out of the box because of some import errors. Otherwise, it's a great project! :)
Cheers

Would be really great to update this one, even if it's on -rc for now 🥳

Could you elaborate a little more please? cucumber-tsflow doesn't have a direct dependency on cucumber. Technically it should be in its peer dependencies, but you essentially bring your own version of cucumber into your project.

I can't give you more because I've completely rewritten the codebase for a PoC since this post and then moved on to specflow (for other technical reasons). If others will have a similar problem, someone will create an issue for sure. I'm closing this for now.

If you have a current project with cucumber-tsflow and update the cucumber dependency to @cucumber/cucumber, it won't work any more. It's that simple.

I see that somehow cucumber-tsflow is trying to reference some bits from cucumber instead of using @cucumber/cucumber.

Right, I think I understand. Yes, cucumber-tsflow imports cucumber - but it's meant to be a peer (currently unspecified in the package.json file though). If they changed the package name of cucumber and that is what you bring into your project, then cucumber-tsflow won't be able to resolve it because it is still trying to import using the previous package name.

I can see this has been updated, but not release. So yes, perhaps we can release this as an rc too.