DEV Community

Discussion on: In-depth of tnpm rapid mode - how we managed to be 10 second faster than pnpm

Collapse
 
zkochan profile image
Zoltan Kochan

Of course, with optimizations on the server side it is possible to do a lot of interesting stuff. I think these only scratch the surface of what is possible.

I agree that in the past there were many issues with the symlinks approach but by now there are almost none. So I don't agree with the claims in the article regarding the disadvantages of symlinks. Even npm is working on an "isolated mode" that will create a symlinked node_modules.

Regarding FUSE. I am also experimenting with FUSE. I created this package that mounts a node_modules directory. I think FUSE is better than Yarn PnP but it might be not the silver bullet. On Linux it works really well but I am not sure about other systems. Especially about Windows.

I am glad to see that the author is actually trying out new ideas instead of just rewriting it to Rust/Zig/Go etc.

Collapse
 
killagu profile image
killa

We're use the nydus as the fuse implemention. nydus is based linux, works well with our build/ci system. Now I'm working on port nydus to macos with macfuse. (We can see the progress with fuse-backend-rs).I'm sure our plan can run macos.

By the way, wsl is good choice on the windows, fuse can be used with wsl2.

Collapse
 
atian25 profile image
TZ | 天猪 • Edited

cnpm isn’t trying to be the replacement to the existing package managers. We have always been an enterprise-ready solution for building an on-premise private registry. We don’t recommend developers to use cnpm cli without that specific need. pnpm and yarn are good enough, and I really like pnpm, thanks for your work.

Last week, we were told pnpm had experimented utilizing FUSE. We believed the experiment was still in an early stage as it didn’t support tree command; JS binding could be improved by other solutions, such as nybus native implementation.

npmfs is a package manager agnostic tool by design. We hope it benefits not only tnpm but also all the package managers that the community loves.

If the community recognizes the solution we propose, we are happy to welcome other widely accepted package managers to work together to improve and use npmfs module alone. Please stay tuned for npmfs to be open source!

Thread Thread
 
zkochan profile image
Zoltan Kochan

merge it to pnpm :-)

Thread Thread
 
zkochan profile image
Zoltan Kochan

@atian is npmfs open source or not yet?

Thread Thread
 
bb010g profile image
bb010g

@zkochan I believe github.com/cnpm/rapid is the repository, licensed under MIT.