You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
867 B

  1. const warpperEnv = (envConf: Recordable): ViteEnv => {
  2. const ret: any = {};
  3. for (const envName of Object.keys(envConf)) {
  4. let realName = envConf[envName].replace(/\\n/g, "\n");
  5. realName =
  6. realName === "true" ? true : realName === "false" ? false : realName;
  7. if (envName === "VITE_PORT") {
  8. realName = Number(realName);
  9. }
  10. if (envName === "VITE_PROXY" && realName) {
  11. try {
  12. realName = JSON.parse(realName.replace(/'/g, '"'));
  13. } catch (error) {
  14. realName = "";
  15. }
  16. }
  17. ret[envName] = realName;
  18. if (typeof realName === "string") {
  19. process.env[envName] = realName;
  20. } else if (typeof realName === "object") {
  21. process.env[envName] = JSON.stringify(realName);
  22. }
  23. }
  24. return ret;
  25. };
  26. const loadEnv = (): ViteEnv => {
  27. return import.meta.env;
  28. };
  29. export { loadEnv, warpperEnv };