/** * Patch the shell environment path to ensure the PATH is properly set for the current platform. * On Docker, we are on Node v18 and cannot support fix-path v5. * So we need to use the ESM-style import() to import the fix-path module + add the strip-ansi call to patch the PATH, which is the only change between v4 and v5. * https://github.com/sindresorhus/fix-path/issues/6 * @returns {Promise<{[key: string]: string}>} - Environment variables from shell */ async function patchShellEnvironmentPath() { try { if (process.platform === "win32") return process.env; const { default: fixPath } = await import("fix-path"); const { default: stripAnsi } = await import("strip-ansi"); fixPath(); if (process.env.PATH) process.env.PATH = stripAnsi(process.env.PATH); console.log("Shell environment path patched successfully."); return process.env; } catch (error) { console.error("Failed to patch shell environment path:", error); return process.env; } } module.exports = { patchShellEnvironmentPath, };