import { describe, expect, test } from "bun:test"; import { bunExe, bunRunAsScript, tempDirWithFiles } from "harness"; describe("process.env", () => { test("npm_lifecycle_event", () => { const scriptName = "start:dev"; const dir = tempDirWithFiles("processenv", { "package.json": `{'scripts': {'${scriptName}': '${bunExe()} run index.ts'}}`, "index.ts": "console.log(process.env.npm_lifecycle_event);", }); const { stdout } = bunRunAsScript(dir, scriptName); expect(stdout).toBe(scriptName); }); // https://github.com/oven-sh/bun/issues/3589 test("npm_lifecycle_event should have the value of the last call", () => { const dir = tempDirWithFiles("processenv_ls_call", { "package.json": `{"scripts": { "first": "${bunExe()} run --cwd lsc second" } }`, "lsc": { "package.json": `{"scripts": { "second": "${bunExe()} run index.ts" } }`, "index.ts": "console.log(process.env.npm_lifecycle_event);", }, }); const { stdout } = bunRunAsScript(dir, "first"); expect(stdout).toBe("second"); }); });