environment.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import dotenv from "dotenv";
  2. if (process.env.NODE_ENV === "development") {
  3. dotenv.config({
  4. path: "../.env",
  5. });
  6. dotenv.config({
  7. path: "../db.env",
  8. });
  9. process.env.TYPEORM_HOST = "localhost";
  10. process.env.NOCTBOT_ADDR = "localhost";
  11. process.env.WEB_DATA_PATH = "./web_data";
  12. process.env.PORT = "3000";
  13. process.env.TYPEORM_USERNAME = process.env.DB_USERNAME;
  14. process.env.TYPEORM_PASSWORD = process.env.DB_PASSWORD;
  15. process.env.TYPEORM_DATABASE = process.env.DB_NAME;
  16. }
  17. export const ENV = {
  18. BOT_CLIENT_ID: "",
  19. BOT_CLIENT_SECRET: "",
  20. WEB_AUTH_URI: "",
  21. WEB_DATA_PATH: "",
  22. HCAPTCHA_SITEKEY: "",
  23. HCAPTCHA_SECRET: "",
  24. };
  25. function isValid(): boolean {
  26. let valid = true;
  27. Object.keys(ENV).forEach((envKey) => {
  28. if (!process.env[envKey]) {
  29. valid = false;
  30. return;
  31. }
  32. const c = envKey as keyof typeof ENV;
  33. ENV[c] = process.env[envKey] as string;
  34. });
  35. return valid;
  36. }
  37. export const IS_VALID = isValid();