Live data from Hacker News

Show HN: WAPM – Package Manager for WebAssembly

wapm.io

31–40 of 82 posts

Re: Show HN: WAPM – Package Manager for WebAssembly

#31

I love WebAssembly/WASI, but I'm concerned about us repeating the mistakes of the past. How does the dependency model work? Can I safely install parallel streams of software? Does it support unprivileged installation? Is the installation stateless (no scriptlets/lifecycle scripts)?

> Is the installation stateless (no scriptlets/lifecycle scripts)? I feel like the reason `npm`/the node.js ecosystem has these is because... as soon as you want to do anything serious, you need them. How else do you build native modules across different platforms, run initial post-installation configuration scripts, etc.?

You make it declarative instead of scripted.

Scripts aren’t truly platform independent. You’ll branching logic for different platforms. Why not capture that with different declarative structures for each platform?

Running scripts as part of software install is something we, as an industry, need to solve.

Re: Show HN: WAPM – Package Manager for WebAssembly

#32
post #9

Why a new package manager? Why not port an existing well-designed generic package manager such as Nix? Making a new package manager is very expensive in terms of developer times - developers have to learn yet another new thing to use your platform. Can you justify this? Edit: For example, as matthewbauer commented below, Nix can support WebAssembly as a compilation target: https://github.com/NixOS/nixpkgs/pull/56555

Which general purpose package manager works correctly on Windows (not WSL, actual Windows) and Linux? Cross-platform is more important than not creating another package manager. I think a far more interesting question is, does the package repository support falling back to e.g. curl. That would allow those who don't want another package manager to still use the registry.

> Cross-platform is more important than not creating another package manager.

That has been the argument for the last several dozen new package managers.

Re: Show HN: WAPM – Package Manager for WebAssembly

#33
It'd be cool to see what language the parent library was written in, so you could explore them similar to Github's language based browse feature.

Although I guess the whole point, as far as the end user is concerned, is it doesn't matter what language it was written in. But it's still very relevant to people using them as libraries.

Re: Show HN: WAPM – Package Manager for WebAssembly

#34

I like Wasmer, but I very much dislike the idea of another major package repository being owned and operated by a commercial entity. They seem like good people doing valuable work now, but that doesn't tell us very much about who the company will be in five or ten years. I've grown uncomfortable with NPM being operated by NPM Inc instead of The Node.js Foundation, but it's a hard thing to change once it's established…

It seems like whenever a new language pops up there's a race to build all the standard ecosystem tooling.

Re: Show HN: WAPM – Package Manager for WebAssembly

#35

I like Wasmer, but I very much dislike the idea of another major package repository being owned and operated by a commercial entity. They seem like good people doing valuable work now, but that doesn't tell us very much about who the company will be in five or ten years. I've grown uncomfortable with NPM being operated by NPM Inc instead of The Node.js Foundation, but it's a hard thing to change once it's established…

I completely understand your concerns, especially given the issues that NPM had lately. We are an open-source focused company and our success is tightly tied to the success of our open-source solutions. Here are some of the things that we are doing in order to resolve (or minimize) the concerns: * Completely open API to retrieve the registry data (it's a work in progress, but our GraphQL API is open to everyone to us…

> our success is tightly tied to the success of our open-source solutions

It is not obvious from your website, so if your success is tied to your open source solutions - as you say - how do you actually make money?

Re: Show HN: WAPM – Package Manager for WebAssembly

#36
post #21

Earlier quoted context omitted.

Which general purpose package manager works correctly on Windows (not WSL, actual Windows) and Linux? Cross-platform is more important than not creating another package manager. I think a far more interesting question is, does the package repository support falling back to e.g. curl. That would allow those who don't want another package manager to still use the registry.

You should distinguish between "can run on Windows" and "can manage Windows software as packages". Most package managers could probably run fine on Windows; at worst they could use cygwin or, indeed, WSL. Managing Windows software is much harder, but isn't necessary: This is a package manager for WebAssembly packages, not Windows packages or Linux packages. And anyway, wasmer itself doesn't even support Windows.

FWIW msys2 (which i personally prefer to wsl or cygwin) uses pacman which works perfectly fine under Windows.

Re: Show HN: WAPM – Package Manager for WebAssembly

#37

Earlier quoted context omitted.

Which general purpose package manager works correctly on Windows (not WSL, actual Windows) and Linux? Cross-platform is more important than not creating another package manager. I think a far more interesting question is, does the package repository support falling back to e.g. curl. That would allow those who don't want another package manager to still use the registry.

> Cross-platform is more important than not creating another package manager. That has been the argument for the last several dozen new package managers.

I'm not sure I understand the problem. Are you having to use all of these dozens of package managers, or is this more of a moral objection to the existence of similar but distinct things?

Re: Show HN: WAPM – Package Manager for WebAssembly

#38

I love WebAssembly/WASI, but I'm concerned about us repeating the mistakes of the past. How does the dependency model work? Can I safely install parallel streams of software? Does it support unprivileged installation? Is the installation stateless (no scriptlets/lifecycle scripts)?

> Is the installation stateless (no scriptlets/lifecycle scripts)? I feel like the reason `npm`/the node.js ecosystem has these is because... as soon as you want to do anything serious, you need them. How else do you build native modules across different platforms, run initial post-installation configuration scripts, etc.?

> How else do you build native modules

It is my understanding that wasmer is trying to create a new ecosystem that doesn't rely on native modules.

> run initial post-installation configuration scripts

It's been my experience, as a long-time Linux user, that this is actually a bad thing. Stateless systems are far easier to work with -- a package manager can be far faster and simpler if it just extracts an archive. I can't think of a single case where post-installation configuration scripts couldn't be replaced by something simpler, using the filesystem.

Re: Show HN: WAPM – Package Manager for WebAssembly

#39
post #16

Earlier quoted context omitted.

Which general purpose package manager works correctly on Windows (not WSL, actual Windows) and Linux? Cross-platform is more important than not creating another package manager. I think a far more interesting question is, does the package repository support falling back to e.g. curl. That would allow those who don't want another package manager to still use the registry.

AppFS [0] is cross-platform and general purpose. It should work on Windows via cxfuse [1], but I have not tested it. The data structure is simple and could also be handled by an offline fetching system. [0] http://appfs.rkeene.org/ [1] https://github.com/crossmeta/cxfuse

I would argue that anything which "works" via fuse doesn't really work. That goes exponentially so for cxfuse.

Re: Show HN: WAPM – Package Manager for WebAssembly

#40

Earlier quoted context omitted.

> Is the installation stateless (no scriptlets/lifecycle scripts)? I feel like the reason `npm`/the node.js ecosystem has these is because... as soon as you want to do anything serious, you need them. How else do you build native modules across different platforms, run initial post-installation configuration scripts, etc.?

> How else do you build native modules It is my understanding that wasmer is trying to create a new ecosystem that doesn't rely on native modules. > run initial post-installation configuration scripts It's been my experience, as a long-time Linux user, that this is actually a bad thing. Stateless systems are far easier to work with -- a package manager can be far faster and simpler if it just extracts an archive. I c…

Downloading a dependent native library from an official source, based on the current OS version.
Post reply on HN