Skip to content

feat: explicitly use hoisted linker for bun install#7840

Draft
rubenfiszel wants to merge 2 commits intomainfrom
feat/bun-install-hoisted-linker
Draft

feat: explicitly use hoisted linker for bun install#7840
rubenfiszel wants to merge 2 commits intomainfrom
feat/bun-install-hoisted-linker

Conversation

@rubenfiszel
Copy link
Contributor

Summary

Bun 1.3+ introduced isolated installs as an alternative to the traditional hoisted layout. While the default for single-package projects is currently hoisted, this has changed multiple times across bun versions (1.3 switched to isolated, 1.3.2 reverted). This PR explicitly passes --linker hoisted to all bun install invocations to protect against future default changes.

Changes

  • Add --linker hoisted to bun install in install_bun_lockfile() (bun_executor.rs)
  • Add --linker hoisted to bun install in prepare_deps_standalone() (prepare_deps.rs)
  • Add integration test test_bun_job_with_cowsay_dep verifying npm dependency installation works correctly with hoisted linker

Test plan

  • cargo check -p windmill-worker compiles cleanly
  • KEEP_JOB_DIR=true cargo test --test bun_jobs test_bun_job_with_cowsay_dep passes
  • Inspected job dir node_modules/: 29 packages flat at top level, no .bun/ directory, no symlinks — confirms hoisted layout
  • Existing bun tests continue to pass

Generated with Claude Code

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 6, 2026

Deploying windmill with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0e5c234
Status: ✅  Deploy successful!
Preview URL: https://d9f76e65.windmill.pages.dev
Branch Preview URL: https://feat-bun-install-hoisted-lin.windmill.pages.dev

View logs

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant