summaryrefslogtreecommitdiffhomepage
path: root/js/src/bun/index.ts
blob: 35e8cbbf97c16c00c730b92f6232e581f25092d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import path from "path";
import { Log } from "../util/log";
export namespace BunProc {
  const log = Log.create({ service: "bun" });

  export function run(
    cmd: string[],
    options?: Bun.SpawnOptions.OptionsObject<any, any, any>,
  ) {
    const root =
      process.argv0 !== "bun"
        ? path.resolve(process.cwd(), process.argv0)
        : process.argv0;
    log.info("running", {
      cmd: [root, ...cmd],
      options,
    });
    const result = Bun.spawnSync([root, ...cmd], {
      ...options,
      argv0: "bun",
      env: {
        ...process.env,
        ...options?.env,
      },
    });
    return result;
  }
}