Tools
Bun
Fast TypeScript runtime and package manager — my default over npm.
Bun is my default runtime and package manager. I use it everywhere by default, including legacy projects where npm is expected, and I would rather find a workaround than switch back.
I use it for:
- Package management —
bun installis fast enough that I don't think about it - Script running —
bun runfor dev servers, builds, and custom scripts - Testing — Built-in test runner that's fast and simple
- TypeScript — Runs
.tsfiles directly without a build step
The ecosystem compatibility is good enough that I rarely hit issues with existing packages. For new projects, Bun is the default choice.
When I use it
- New TypeScript projects where I control baseline tooling.
- Legacy repositories where I can still operate Bun-compatible workflows.
- Repositories with frequent install/run loops during daily development.
When I avoid it
- Collaborative teams already standardized on npm where I do not have decision authority to change it.
- Deep cross-project coupling where downstream consumers explicitly require
package-lock.jsonrather thanbun.lock.
One real example
In legacy npm-oriented setups, I still use Bun locally and align output/lockfile expectations only where external consumers strictly depend on npm lockfiles.