fix: Bun compatibility for build scripts and runtime detection

This commit is contained in:
Danila Poyarkov 2026-01-23 19:31:16 +03:00
parent 73734a23a1
commit 6d0c544e18
5 changed files with 12 additions and 8 deletions

View file

@ -2,6 +2,10 @@
## [Unreleased]
### Fixed
- Fixed Bun runtime detection for dynamic imports in browser-compatible modules (stream.ts, openai-codex-responses.ts, openai-codex.ts)
## [0.49.3] - 2026-01-22
### Added

View file

@ -1,6 +1,6 @@
// NEVER convert to top-level import - breaks browser/Vite builds (web-ui)
let _os: typeof import("node:os") | null = null;
if (typeof process !== "undefined" && process.versions?.node) {
if (typeof process !== "undefined" && (process.versions?.node || process.versions?.bun)) {
import("node:os").then((m) => {
_os = m;
});

View file

@ -3,8 +3,8 @@ let _existsSync: typeof import("node:fs").existsSync | null = null;
let _homedir: typeof import("node:os").homedir | null = null;
let _join: typeof import("node:path").join | null = null;
// Eagerly load in Node.js environment only
if (typeof process !== "undefined" && process.versions?.node) {
// Eagerly load in Node.js/Bun environment only
if (typeof process !== "undefined" && (process.versions?.node || process.versions?.bun)) {
import("node:fs").then((m) => {
_existsSync = m.existsSync;
});

View file

@ -8,7 +8,7 @@
// NEVER convert to top-level imports - breaks browser/Vite builds (web-ui)
let _randomBytes: typeof import("node:crypto").randomBytes | null = null;
let _http: typeof import("node:http") | null = null;
if (typeof process !== "undefined" && process.versions?.node) {
if (typeof process !== "undefined" && (process.versions?.node || process.versions?.bun)) {
import("node:crypto").then((m) => {
_randomBytes = m.randomBytes;
});