vmware-archive / runtimes

Kubeless function runtimes: https://kubeless.io/docs/runtimes/
Apache License 2.0
81 stars 89 forks source link

stable/nodejs: replace npm w/ pnpm #108

Open elordahl opened 3 years ago

elordahl commented 3 years ago

Changes

The purpose of this change is to reduce the duration of pod/function provisioning by improving the performance of package installation. Available resources still play their role, but pnpm can assist with better resource utilization.

Since pnpm is a drop-in replacement for npm, it does not require additional changes.

Benchmarks

See https://pnpm.io/benchmarks for details on the following:

image

@andresmgot @joek @Henrike42

elordahl commented 3 years ago

hey @andresmgot! is there anything I can do to help nudge this forward? 😄

andresmgot commented 3 years ago

hi @elordahl, sorry for the slow response (I'm no longer able to spend too much time in this project). The major inconvenient I see here is that this change may be a breaking change for existing functions that may rely in npm. My recommendation here is to either fork this project so you can easily use pnpm in your functions or submit it as a incubator runtime so people can still use npm if needed.

In any case, cc/ @antgamdia who should be maintaining the project atm.

elordahl commented 3 years ago

I appreciate the feedback. I figured a new runtime was overkill for this change since pnpm is supposed to run transparently, with npm still in the image. That said, i understand not wanting to risk breaking compatibility 👍🏼

I'll run w/ a new runtime.