fix: Treat Bun runtime modules as builtins in Boundaries (#12141)
## Summary
Fixes #11857
- `turbo boundaries` incorrectly flagged `import { $, which } from
'bun'` as a type-only import when `@types/bun` existed in
devDependencies
- Added `is_bun_builtin()` to recognize `bun` and `bun:*` imports as
runtime builtins, skipping the type-only check — analogous to how
Node.js builtins are already handled via `ResolveError::Builtin`
## Why
The boundaries checker assumes that if a package isn't declared as a
dependency but its `@types/*` counterpart is, it must be a type-only
package. This is correct for most packages (e.g. `@types/node` for
Node.js APIs used only as types), but `bun` is a runtime-provided module
— its imports are real value imports, not type-only.
## Testing
- **Unit tests:** 9 test cases for `is_bun_builtin`, plus 3
integration-level unit tests exercising `check_package_import` directly
(bun import with `@types/bun` in deps, `bun:test` subpath, and a
regression test ensuring non-Bun type-only packages are still flagged)
- **Integration test:** Added `import { $, which } from "bun"` and
`import { test } from "bun:test"` to the boundaries fixture — the
snapshot confirms they produce no diagnostics