Open Kreijstal opened 5 years ago
Wasm is a target. I don't think most people write in wasm, they compile to wasm. The package manager would be for the language they write in, no?
While I imagine most Wasm projects will be one language top to bottom (Rust, C#, etc...) plus maybe JavaScript, it is an intended goal of Wasm to be inter-operable. A binary and language agnostic interface definition package distribution platform would go a long ways towards this goal. Integration, after that, into each native languages package manager would be great to. Otherwise you'll put a lot of onus on package makers to check the boxes for each Wasm-targetable platform's package manager.
That is not to say larger teams with those kind of resources shouldn't. I agree that if you have the resources, you should expose a language friendly wrap like with C-interfacing Libraries.
WebAssembly code is platform / host independent. However, in practice, it tends to be tightly coupled to a specific host and language, for example wasm built with Rust contains Rust-specific binding code. For that reason people tend to distribute wasm code using the package manager of the hosting environment (cargo, npm, ...)
I don't think it will make much sense to distribute wasm on it's own until it has an ABI in place, e.g. the CloudABI
It's a goal of WASM to be inter-operable as in, the teams building WASM intend you to write your application in many languages? Because this seems more like an LLVM issue than a WASM run-time issue. The issue isn't just your package manager, it's also your LLVM setup. For example, see https://github.com/twitter/pants.
I could see a WASM-seperate repo source for each package manager, but a new package manager is rewriting all the other ones into a monolith for the sake of enforcing the condition that it will compile properly to WASM.
That's all from me though, because I've never tried to write WASM in many languages at once.
I'd far prefer seeing something like https://www.pikapkg.com/ . Pikapkg is a way to find ESM modules in the npm repository. Rather than build an entirely new package manager, npm ought to be leveraged to get us most of the way there.
What of value in a wasm repo would we want beyond npm? The ability to find wasm packages would be one thing. Anything else?
anything that gets rid of dependence on NodeJS will be a huge advancement to human evolution.
Hi everyone!
We just launched wapm, a Package Manager for WebAssembly. I would love to hear your thoughts!
a Package Manager for WebAssembly. I would love to hear your thoughts!
god bless you, we need hundreds of guys like you to save webAssembly from npm , the most important thing since dawn of internet. i will join in contributing to this revolutionary era as i pick up pace at these things.
This organization has no public repositories.
During the alpha, telemetry (specifically error logging to Sentry) is enabled by default.
According to https://wapm.io/help/reference , no mandatory package signing.
Don't use that.
@KOLANICH thanks for your feedback. We just added support for package signing on wapm, and we will release a new version soon: https://github.com/wasmerio/wapm-cli/pull/110
Please let us know if you have any suggestions into what to improve! 🙂
Project description
[Describe the project the best you can. Give any background information or link to resources that are necessary to understand the problem it is intended to solve. The more you elaborate on your idea, the easier it is to accomplish.]
WebAsm is finally here, but there seems to be no provider of packages like npm, apt-get, etc... there might be some demand for this, so why not provide packages to basic things like bash, python, ruby, ghc. It might not be so easy to port some functionality like networking, so there will be some decisions based around that.
Relevant Technology
asm.js, webasm, emscripten, etc. [Write what technology is relevant. What language, what platform, any particular library/framework/existing project it is based on?]
Complexity and required time
[Please only tick off one box in each category by changing
[ ]
to[x]
. The labels on the project will then be updated by the maintainers as soon as possible.]Complexity
Required time (ETA)