preload.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // IMPORTANT: Set env vars BEFORE any imports from src/ directory
  2. // xdg-basedir reads env vars at import time, so we must set these first
  3. import os from "os"
  4. import path from "path"
  5. const testDataDir = path.join(os.tmpdir(), "opencode-test-data-" + process.pid)
  6. process.env["XDG_DATA_HOME"] = testDataDir
  7. process.env["XDG_CACHE_HOME"] = path.join(testDataDir, "cache")
  8. process.env["XDG_CONFIG_HOME"] = path.join(testDataDir, "config")
  9. process.env["XDG_STATE_HOME"] = path.join(testDataDir, "state")
  10. // Clear provider env vars to ensure clean test state
  11. delete process.env["ANTHROPIC_API_KEY"]
  12. delete process.env["OPENAI_API_KEY"]
  13. delete process.env["GOOGLE_API_KEY"]
  14. delete process.env["GOOGLE_GENERATIVE_AI_API_KEY"]
  15. delete process.env["AZURE_OPENAI_API_KEY"]
  16. delete process.env["AWS_ACCESS_KEY_ID"]
  17. delete process.env["AWS_PROFILE"]
  18. delete process.env["OPENROUTER_API_KEY"]
  19. delete process.env["GROQ_API_KEY"]
  20. delete process.env["MISTRAL_API_KEY"]
  21. delete process.env["PERPLEXITY_API_KEY"]
  22. delete process.env["TOGETHER_API_KEY"]
  23. delete process.env["XAI_API_KEY"]
  24. delete process.env["DEEPSEEK_API_KEY"]
  25. delete process.env["FIREWORKS_API_KEY"]
  26. delete process.env["CEREBRAS_API_KEY"]
  27. delete process.env["SAMBANOVA_API_KEY"]
  28. // Now safe to import from src/
  29. const { Log } = await import("../src/util/log")
  30. Log.init({
  31. print: false,
  32. dev: true,
  33. level: "DEBUG",
  34. })