boltpkg / bolt

⚡️ Super-powered JavaScript project management
MIT License
2.34k stars 84 forks source link

updates for faster symlinking #286

Closed jonathancreamer-eb closed 3 years ago

jonathancreamer-eb commented 3 years ago

Rather than re-fetch the Project packages, and graph during the for of loop from the install command, simply passing them in saves a ton of time.

Converts the for of loop for symlinking into a Promise.all.

Don't re-create symlinks.

In our project we have ~360 internal packages, and ~370 external.

Before...

After..

jonathancreamer-eb commented 3 years ago

@lukebatchelor if you get a chance soon, I'd love for you to take a look at this. It was a pretty huge difference for us in our repo on my initial testing. Let me know what you think!

ghost commented 3 years ago

This seems to improve package performance by 92%. 🎉

jonathancreamer-eb commented 3 years ago

@jamiebuilds updated! c0131ab63200136cb1b87a20ab4a9c8c44d4182a

lukebatchelor commented 3 years ago

Thanks heaps @jonathancreamer-eb , super appreciate the investigation. PR LGTM, I'll wait and see if Jamie has any other feedback, and get this released soon.

jonathancreamer-eb commented 3 years ago

Thanks! Hopefully this helps all of us. :)

jonathancreamer-eb commented 3 years ago

Oh hai 2021. Shall we start it off with faster bolt or no @jamiebuilds? ;)