3 ms·
Sorry it didn't get traction. Maybe try a repost later. I'm interested in what performance is like for private packages outside of NPM registries, i.e using gi
by tomxor 4y ago
Sorry it didn't get traction. Maybe try a repost later.
I'm interested in what performance is like for private packages outside of NPM registries, i.e using git+ssh... NPM is almost unusably slow to resolve these, yarn is a factor or two faster, and combined with it's behaviour of not re-resolving stuff in the package-lock this makes it just about usable for me - but even with yarn the overall experience of using many git+ssh repos is not great, it's even worse if dependencies are nested.
I'm not sure where the performance limitation lies with resolving git+ssh based revisions, but I'm pretty sure the existing package managers are not near the limit of what git remotes could provide - I've written some scripts relying on remote git tags with CLI plumbing commands and even that is not particularly slow.
- nachoaldamav 4y agoHi, first of all thanks for your comment! Git integration is in the roadmap and yesterday I started thinking about how to do it. Based on how this CLI works, my idea for caching git packages is the following: "userFolder/Ultracache/git/user/repo/hash" This will help to not download many times the same repository. Anyway, to do this I still need to figure out how to download the packages. For this I thought about using Node.js Child Process / Spawn to execute "git clone <repo>", this should be as fast as execute the command in your shell. The problem with NPM and Yarn is probably how they work. NPM/Yarn fetchs all the manifests to create the dependency tree before starting to download the packages. With Git packages you can't do that because you can't get the manifest before the packages. In the following days I will work on this starting today, so maybe you want to check the repo!