aws-cdk icon indicating copy to clipboard operation
aws-cdk copied to clipboard

pipeline: should work with pnpm

Open ahammond opened this issue 1 year ago • 2 comments

Describe the feature

Currently the pipeline respects npm and yarn. However, it should also by default respect the pnpm package manager.

Use Case

pnpm significantly improves our developer experiences. However cdkPipelines doesn't support it.

Proposed Solution

Update the default CdkSynth to detect pnpm-lock.yaml the same way it currently detects yarn.lock.

Other Information

No response

Acknowledgements

  • [X] I may be able to implement this feature request
  • [ ] This feature might incur a breaking change

CDK version used

2.81.0

Environment details (OS name and version, etc.)

irrelevant

ahammond avatar Jun 01 '23 18:06 ahammond

+1 this would be very useful. Currently this feature gap adds friction for pnpm users to adopt CodePipelines.

Adding this bit to the top of the commands: [] works, but it adds overhead time to every build that would be saved if it was supported by default:

        'corepack enable',
        'corepack prepare pnpm@latest-8 --activate',
        'pnpm install',

Edit: based on my latest build's CodePipeline log timestamps, the 3 steps above adds a bit over 5 seconds.

tylerwalts avatar Dec 06 '23 18:12 tylerwalts

Could probably tweak the pnpm install line to only run if it sees a pnpm-lock.yaml. Then I could just throw this into our pipeline library and let devs migrate on their own schedule.

ahammond avatar May 09 '24 20:05 ahammond