Waffle icon indicating copy to clipboard operation
Waffle copied to clipboard

Waffle 4.0 roadmap

Open marekkirejczyk opened this issue 4 years ago • 10 comments

Goals for Waffle 4.0:

  • Improved speed of test execution
  • Deeper integration with HardHat
  • Increased type safety (TypeScript types as first class citizen)

Features:

  • [x] Remove JEST support
  • [ ] Add eqBN() instead of magic eq
  • [ ] Watch mode (check HardHat plugin)
  • [ ] Parallel test execution (Implement in HardHat)
  • [x] 100% test coverage against HardHat provider
  • [x] Integration with TypeChain out-of-the-box
  • [ ] Integration with faster MockProvider (geth or other)

marekkirejczyk avatar Dec 04 '20 08:12 marekkirejczyk

"100% test coverage against HardHat provider" Does this mean devs will be able to use HardHat Network under the hood of MockProvider as an alternative to Ganache?

pandichef avatar Jan 16 '21 05:01 pandichef

@pandichef That would be the goal, not sure if and when we would be able to achieve it.

marekkirejczyk avatar Jan 17 '21 18:01 marekkirejczyk

Curious why Jest support will be removed?

cktang88 avatar Mar 31 '21 04:03 cktang88

JEST didn't get traction, code base grow big, we have to focus on different things (eg HardHat integration)

marekkirejczyk avatar Mar 31 '21 07:03 marekkirejczyk

JEST didn't get traction, code base grow big, we have to focus on different things (eg HardHat integration)

Very sorry. Because many people use jest for testing on a project. And they won't switch to chai only of this library... I think you could greatly increase the use of your library by changing your development philosophy. You are making a very cool project, but so far chai is not what I would like to see on my project...

StKostyantin avatar Apr 30 '21 10:04 StKostyantin

It would be awesome if https://github.com/EthWorks/Waffle/issues/511 was added on the roadmap for v4.0!

PaulRBerg avatar Sep 06 '21 11:09 PaulRBerg

Hey @marekkirejczyk, what's the status of 4.0? I can see that you guys have published 4.0.7 versions for the packages, but by default npm still list 3.4.4. Is 4.x.x "officially" released? If not, what is the plan?

PetarKirov avatar Sep 23 '22 12:09 PetarKirov

Also, when do you plan to upgrade to @ganache/*^7.4.1?

PetarKirov avatar Sep 23 '22 13:09 PetarKirov

@PetarKirov We consider 4.x.x released, but at the same time we're holding off marking as latest on npm until we have the Hardhat Waffle plugin updated and using Waffle 4.x.x.

We already test the plugin with 4.x.x internally and all our tests are working, but we want to move slowly here.

Also, when do you plan to upgrade to @ganache/*^7.4.1?

Actually we're on it, so you can expected a release with new ganache next week. We also want to introduce some simple automation for periodically upgrading Ganache version.

rzadp avatar Sep 23 '22 14:09 rzadp

@PetarKirov We consider 4.x.x released, but at the same time we're holding off marking as latest on npm until we have the Hardhat Waffle plugin updated and using Waffle 4.x.x.

Thanks for the info @rzadp! We tried using [email protected] with @nomiclabs/[email protected] (despite the warning about peerDependency version mismatch (it wanted ethereum-waffle@^3.2.0)) and our tests succeeded without needing any adjustments. We have yet to carefully read the 4.0 migration guide and review our tests, but things are looking good so far ;)

We already test the plugin with 4.x.x internally and all our tests are working, but we want to move slowly here.

Also, when do you plan to upgrade to @ganache/*^7.4.1?

Actually we're on it, so you can expected a release with new ganache next week. We also want to introduce some simple automation for periodically upgrading Ganache version.

Great, keep up the good work! :+1:

PetarKirov avatar Sep 23 '22 16:09 PetarKirov

For all interested: Waffle 4 is out 🙂

rzadp avatar Nov 10 '22 10:11 rzadp