foundry-rs / forge-std

Forge Standard Library is a collection of helpful contracts for use with forge and foundry. It leverages forge's cheatcodes to make writing tests easier and faster, while improving the UX of cheatcodes. For more in-depth usage examples checkout the tests.
Apache License 2.0
835 stars 331 forks source link

Add an official forge-std distribution to npm #170

Open EricForgy opened 2 years ago

EricForgy commented 2 years ago

Hi there 👋

It would be super awesome if there was an official forge-std on NPM.

There is a related issue pertaining to Hardhat ( https://github.com/foundry-rs/forge-std/issues/39 ), but my motivation is mostly around avoiding the need for submodules. I know I should learn to love submodules, but I am already happy enough with yarn / package.json for dependency management. My other dependencies already have official distributions, e.g:

It would be super awesome to have forge-std there too 🙏

PaulRBerg commented 2 years ago

I'm favor of this. Besides personal preference (which is Eric's argument), there's also the backwards compatibility argument that I put forth in the prb-test README:

It is my firm conviction that Foundry is the future of Ethereum smart contract development. Solidity code is best tested in Solidity itself.

But, due to various historical reasons, the Ethereum ecosystem has for a long time relied upon JavaScript for testing smart contracts. Refactoring a code base from Hardhat or Truffle to Foundry takes time, and it may not always be possible to do it in one fell swoop

EricForgy commented 2 years ago

What would need to happen in order to get this done?

Is it as simple as adding a package.json and having a maintainer connect it at npmjs.com?

Is there appetite for doing this with maintainers?

EricForgy commented 2 years ago

A good step: #176 👍