Oryx icon indicating copy to clipboard operation
Oryx copied to clipboard

[Feature] pnpm support

Open lwyj123 opened this issue 4 years ago • 1 comments

Feature Request

I found the nodejs build document but didn't find pnpm support. now I use PRE_BUILD_COMMAND and CUSTOM_BUILD_COMMAND for this but it's good that Oryx could have official support like yarn and lerna

lwyj123 avatar Nov 07 '21 13:11 lwyj123

As @lwyj123 wrote you can workaround this with extending github action step Azure/static-web-apps-deploy@v1 yaml with env variables:

        env:
          PRE_BUILD_COMMAND: npm install -g pnpm
          CUSTOM_BUILD_COMMAND: pnpm install && pnpm run build

jechtom avatar Jan 02 '22 21:01 jechtom

I seem to be having issues with this workaround in a bitbucket pipeline due to the pnpm cache.

EACCES  EACCES: permission denied, mkdir '/opt/atlassian/pipelines/agent/build/.pnpm-store/v3'

Hoping it can get some attention

Nickhoyer avatar Oct 19 '22 10:10 Nickhoyer

Any updates here? Many OSS projects switched to PNPM and Oryx should have native support for detecting and using it.

itpropro avatar Feb 05 '23 17:02 itpropro

We're not currently looking to support pnpm. Closing this issue for now, please create a new issue and link to this one if you feel strongly.

simonjj avatar Jan 11 '24 01:01 simonjj

We're not currently looking to support pnpm. Closing this issue for now, please create a new issue and link to this one if you feel strongly.

That is really unfortunate as it means that Oryx cannot be used for the majority of modern JS/TS projects. I appreciate the feedback anyway, as we have now a clear position and can look for alternatives.

Are there any plans to remove the dependencies of some of the Azure related GitHub actions (App Service, Azure Functions and Static Web Apps for example) on Oryx, so they are not blocking users from using the services with their applications that use pnpm @simonjj ?

itpropro avatar Jan 12 '24 07:01 itpropro

Would it be possible instead to use corepack (& corepack enable) so that node could detect and use whatever package manager is supported by the project? That would also offload the job of detecting/installing the appropriate version of package managers.

danielroe avatar Jan 12 '24 21:01 danielroe