gradle-node-plugin
gradle-node-plugin copied to clipboard
bun install support
Hi! How about supporting bun? Bun install makes our application download dependencies 80% faster, it would be cool if we could just use it as package manager!
In it's current state adding another runtime is a little difficult, initially we wanted to give good entry points so that users could easily modify the functionality to support having a different runtime or package manager We never quite got there and had to dismantle some that to properly support the configuration-cache, but if it accepts the same CLI arguments as node and npm adding would be trivial
The only problem is the download mechanism, the way it currently works is that Node is downloaded during the configuration phase which isn't ideal, and adding more work for the configuration phase is not an option
On the other hand, as bun can be installed through npm we can use it through the same mechanism as the others
i.e. when download = true you'd download Node, use bundled npm to install bun, and then bun could be used for the npmInstall task (or an equivalent named one)
And I guess also for things like BunTask, BunxTask, etc
The downside of that is that initial setup would be a lot slower than if we could just skip downloading Node in the first place I'm currently swamped with commitments but I'll happily guide you through the process if you want to attempt adding the support
PnpmSetupTask and PnpmInstallTask is a good starting point, if you find that you want to make larger changes in the ExecRunner that's fine and appreciated, but please use a separate PR for that so we can get the initial implementation in place first
Thank you for sharing your opinion! I'll try to hack it on Monday - if I get any results I'll comment! If not - maybe during hacktoberfest someone could contribute! Make sure to add the required hacktoberfest labels! :)
Initial support was added in #290, there's some additional work to be done listed in #291