Closed tiagoicp closed 1 year ago
100% agreed. I am currently taking over maintenance of vessel, and we are looking into doing a complete redesign to address the UX and scalability of the package manager. Please bear with me during this process (since there's a lot that needs to change here), and I'll personally do my best to make this a much smoother setup experience in the near future.
For anyone who comes across this during Motoko Bootcamp, I highly encourage checking out MOPS, a community-built package manager which is officially supported in the Motoko VS Code extension.
Here is a starter project template which shows how to set up MOPS for dapp development: https://github.com/rvanasa/vite-react-motoko
Hi Ryan,
Thanks so much for this reply. I had the time to look into MOPS and uau, that looked really good! The way we setup and the way we interact is what I was looking for. 🤩
I noticed it doesn't support "importing" from Github yet right? And even if it does, it will need config file in their repo (.toml and not .dhall), right?
I was looking to access and import Zhenya HashMap (stable) and the Env packages (and probably others as I code).
Again, thanks so much for putting the energy and work here. Really looking forward for it's development. 👍
I will soon close this issue 🙏
Happy to help!
MOPS recently added support for GitHub repositories without any config file. For example, I was able to import Zhenya's HashMap package with the following code (after running mops install
):
mops.toml
:
[dependencies]
base = "0.7.5"
hashmap = "https://github.com/ZhenyaUsenko/motoko-hash-map"
Motoko file:
import Map "mo:hashmap/Map";
Cheers!
Uau, that actually looks pretty good and very close to the experience of NPM or Bundle (Ruby), thanks, will definitely consider using the Mops for my project (while we wait for vessel revamp 👍 ).
Will close this issue now. Much appreciate your time and feedback here Ryan 🙏
Hi,
My name is Tiago and am on the Motoko Bootcamp. I really like everything I have seen about Dfinity and ICP.
But this package manager is really raw :( And it makes it super hard to reuse code from other community members.
The end result is the bad practice that have seen a lot, that is to literally copy paste code from github to internal projects. But that is not maintainable nor scalable. The more time passes, the bigger is the tech debt of all of us. Please kindly consider making vessel a priority again 🙏
I tried to install vessel and Mac (rightly so) does not allow for a source file to be imported from the internet and be executed without proper verification:
Hope this can be eventually sorted out.
Thank you, Tiago L.