oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
73.26k stars 2.69k forks source link

`bun install` should not run the prepare script of trusted dependencies #5017

Closed ohana54 closed 9 months ago

ohana54 commented 1 year ago

What version of Bun is running?

1.0.0+822a00c4d508b54f650933a73ca5f4a3af9a7983

What platform is your computer?

Darwin 21.6.0 x86_64 i386

What steps can reproduce the bug?

Hi,

I encountered an issue with installing @swc/core as a trusted dependency. Bun tries to run its prepare script, which fails.

AFAIK, per the npm docs and the behavior of npm/yarn, the prepare script should not be run when installing a dependency. It is intended to be a script for the local dev of that package.

What is the expected behavior?

bun install should not run prepare scripts of trusted dependencies.

What do you see instead?

example failure when installing @swc/core:

bun install v1.0.0 (822a00c4)
 + @swc/core@1.3.84
/bin/bash: husky: command not found

 3 packages installed [30.00ms]
error: script "prepare" exited with code 127

Additional information

No response

Jarred-Sumner commented 1 year ago

definitely a bug

nagolyhprum commented 1 year ago

This might not be the solution you are looking for but you can skip life cycle events using --ignore-scripts. I believe this is the line doing it: https://github.com/oven-sh/bun/blob/main/src/install/install.zig#L7955C37-L7955C37.

ohana54 commented 1 year ago

Thanks, although I actually need to run the postinstall of @swc/core.

kyleosborn commented 1 year ago

This one is a blocker for us also. We've had issues with swc-loader and bun.sh - I just discovered the trusted-deps however since putting a few in here it's caused a whole host of other problems.

martinmckenna commented 1 year ago

yep having this exact issue when converting over my Dockerfile to use bun. This should definitely match what npm and yarn do