Skip to content

Conversation

@synapseradio
Copy link

This PR adds support for bun package manager, for which support was added in circleci's node orb in version 7.2.0. CircleCI-Public/node-orb#257

I believe I have followed the same patterns as other package managers here. Please let me know if I've missed anything - we would love to see these changes go in :)

  • Add 'bun' to package-manager enum in install.yml and run.yml commands
  • Configure conditional logic to use bunx for Cypress commands when Bun is selected
  • Leverage circleci/node orb's install-bun capability for Bun installation
  • Add Bun example in examples/bun-install directory
  • Include Bun configuration in CI test pipeline (.circleci/test-deploy.yml)
  • Create documentation example demonstrating Bun usage patterns

- Add 'bun' to package-manager enum in install.yml and run.yml commands
- Configure conditional logic to use bunx for Cypress commands when Bun is selected
- Leverage circleci/node orb's install-bun capability for Bun installation
- Add Bun example in examples/bun-install directory
- Include Bun configuration in CI test pipeline (.circleci/test-deploy.yml)
- Create documentation example demonstrating Bun usage patterns
@CLAassistant
Copy link

CLAassistant commented Sep 24, 2025

CLA assistant check
All committers have signed the CLA.

@cypress-app-bot
Copy link
Collaborator

@MikeMcC399
Copy link
Collaborator

@synapseradio

@MikeMcC399 MikeMcC399 added the type: enhancement New feature or request label Sep 25, 2025
@synapseradio
Copy link
Author

synapseradio commented Sep 25, 2025

@MikeMcC399 - thank you for the link and the information.

This PR is only introducing bun as a package manager, but does not suggest it as a runtime as the functionality is decoupled. We've been using such a setup locally for some time back to cypress 13.

When I did the PR to the node orb, I took a similar approach - bun acts as a package manager there, and there is an option to use it as a test runner with certain config, but the orb places no opinion on whether processes run with bun's own runtime over node - that's left to users in how they configure their bunfig.toml / package.json.

I think this is safe to allow here, as I don't believe it introduces a foot gun for these reasons. But, I understand if you consider the support here to be one.

In either case, what would you consider to be next steps for this PR?

Would it be able to move if I were to clarify the example by using npx / adding an explanatory example bunfig.toml that disables bun from replacing node in scripts?

Or, is it something to revisit at a later point? If so, I'd be happy to offer contributions to other places to support.

@MikeMcC399
Copy link
Collaborator

@synapseradio

This probably isn't the right place to be discussing whether Cypress supports Bun or not, as it is a complex issue. I'm an external contributor here, so I can't give an opinion representing the Cypress.io team. However since we're on the topic ...

I would recommend now waiting for review from the Cypress.io team if they are open to accepting this PR or other PRs related to Bun, for instance in the main cypress repo or the documentation repo. I have requested a review for you.

@synapseradio
Copy link
Author

@MikeMcC399 Thank you, man. Totally understand, and I appreciate the pointers and assistance :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants