getEnv.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import path from "path";
  2. import type { Recordable, ViteEnv } from "@/typings/global";
  3. export function isDevFn(mode: string): boolean {
  4. return mode === "development";
  5. }
  6. export function isProdFn(mode: string): boolean {
  7. return mode === "production";
  8. }
  9. export function isTestFn(mode: string): boolean {
  10. return mode === "test";
  11. }
  12. /**
  13. * Whether to generate package preview
  14. */
  15. export function isReportMode(): boolean {
  16. return process.env.VITE_REPORT === "true";
  17. }
  18. // Read all environment variable configuration files to process.env
  19. export function wrapperEnv(envConf: Recordable): ViteEnv {
  20. const ret: any = {};
  21. for (const envName of Object.keys(envConf)) {
  22. let realName = envConf[envName].replace(/\\n/g, "\n");
  23. realName = realName === "true" ? true : realName === "false" ? false : realName;
  24. if (envName === "VITE_PORT") realName = Number(realName);
  25. if (envName === "VITE_PROXY") {
  26. try {
  27. realName = JSON.parse(realName);
  28. } catch (error) {}
  29. }
  30. ret[envName] = realName;
  31. }
  32. return ret;
  33. }
  34. /**
  35. * Get user root directory
  36. * @param dir file path
  37. */
  38. export function getRootPath(...dir: string[]) {
  39. return path.resolve(process.cwd(), ...dir);
  40. }