Vessel - a package manager for motoko

I just stumbled on this in the docs! We now have a package manager for motoko :seedling:

7 Likes

It would be cool if someone also manage to implement something like a ā€œcanister registryā€ where you can find a canister that does something that you need and already populated with data from other canisters using it.

6 Likes

Maybe we can make one?

1 Like

Thatā€™s strange timingā€”Iā€˜m just building something like that, it should be ready for Tungsten!

4 Likes

Any features that might be particularly useful? Essentially going for something thatā€™s of use to us all here for tungsten.

(Slight thread hijack going on here, sorry Moritz!)

2 Likes

As a guy who wants to share a canister Iā€™d expect a UI where I can save some information about my deployed canister (name, canisterId, some docs). Maybe it would be useful to be able to also upload a .did file of my canister and see some automatically generated API spec for it. It would be also useful to force canisters to have some healthcheck function and periodically check for their availability.

As a guy who wants to use some of shared canisters Iā€™d like to search for key words, find something that is popular, get the canisterId and download itā€™s .did file (so I could generate client-code by myself).

What do you think?

4 Likes

Pretty close to my thinking, ok thanks, great input. I like the healthcheck idea, on this I was wondering how much devs would want to muddy their IDLs with additional functions like this? A healthcheckā€™s probably ok, since itā€™s generally useful to have.

2 Likes

Does any of you have a sane way of using vessel when building an IC canister by means of dfx build?

The way (recent versions of) Vessel seem to work, is that it (via vessel sources) provides a set of additional flags to pass to moc - similar to how youā€™d eg link a library with gcc.

However when building an IC canister, it doesnā€™t seem intended (nor reasonable) to call moc directly. Rather one uses dfx build, which will call moc internally.

You can tell dfx to call vessel by changing defaults->build->packtool to vessel sources in your dfx.json. Iā€™m in the process of properly documenting the dfx + vessel workflow.

6 Likes

Oh, thatā€™s great! Thanks for the heads-up. Looking forward to the updated docs on that part, then. :slight_smile:

1 Like

@here @ggreif @matthewhammer
As @kritzcreek is not maintaining this anymore, please can anyone of you update dfx + vessel workflow.

Happy to contribute if you guide me.

There is Release v0.6.3 Ā· dfinity/vessel Ā· GitHub now. Please check if it is working for you. We are happy to review PRs that improve the interplay.

2 Likes

I made a pre-relase Release v0.6.4 Ā· dfinity/vessel Ā· GitHub to address an issue with recent Linuxen, namely the lack of openssl-1.1.1. Functionally it is identical, but I am interested to hear feedback (esp. from owners of freshly installed machines), so that I can finalise the release.

1 Like