|  | @@ -1,41 +1,32 @@
 | 
	
		
			
				|  |  | -import * as dotenv from "dotenv";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -export interface ViteEnv {
 | 
	
		
			
				|  |  | -  VITE_PORT: number;
 | 
	
		
			
				|  |  | -  VITE_OPEN: boolean;
 | 
	
		
			
				|  |  | -  VITE_USE_MOCK: boolean;
 | 
	
		
			
				|  |  | -  VITE_PUBLIC_PATH: string;
 | 
	
		
			
				|  |  | -  VITE_PROXY: [string, string][];
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -export function loadEnv(): ViteEnv {
 | 
	
		
			
				|  |  | -  const env = process.env.NODE_ENV;
 | 
	
		
			
				|  |  | +const warpperEnv = (envConf: Recordable): ViteEnv => {
 | 
	
		
			
				|  |  |    const ret: any = {};
 | 
	
		
			
				|  |  | -  // eslint-disable-next-line no-sparse-arrays
 | 
	
		
			
				|  |  | -  const envList = [`.env.${env}.local`, `.env.${env}`, ".env.local", ".env", ,];
 | 
	
		
			
				|  |  | -  envList.forEach(e => {
 | 
	
		
			
				|  |  | -    dotenv.config({
 | 
	
		
			
				|  |  | -      path: e
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -  for (const envName of Object.keys(process.env)) {
 | 
	
		
			
				|  |  | -    let realName = (process.env as any)[envName].replace(/\\n/g, "\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  for (const envName of Object.keys(envConf)) {
 | 
	
		
			
				|  |  | +    let realName = envConf[envName].replace(/\\n/g, "\n");
 | 
	
		
			
				|  |  |      realName =
 | 
	
		
			
				|  |  |        realName === "true" ? true : realName === "false" ? false : realName;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      if (envName === "VITE_PORT") {
 | 
	
		
			
				|  |  |        realName = Number(realName);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    if (envName === "VITE_OPEN") {
 | 
	
		
			
				|  |  | -      realName = Boolean(realName);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (envName === "VITE_PROXY") {
 | 
	
		
			
				|  |  | +    if (envName === "VITE_PROXY" && realName) {
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  | -        realName = JSON.parse(realName);
 | 
	
		
			
				|  |  | -        // eslint-disable-next-line no-empty
 | 
	
		
			
				|  |  | -      } catch (error) {}
 | 
	
		
			
				|  |  | +        realName = JSON.parse(realName.replace(/'/g, '"'));
 | 
	
		
			
				|  |  | +      } catch (error) {
 | 
	
		
			
				|  |  | +        realName = "";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      ret[envName] = realName;
 | 
	
		
			
				|  |  | -    process.env[envName] = realName;
 | 
	
		
			
				|  |  | +    if (typeof realName === "string") {
 | 
	
		
			
				|  |  | +      process.env[envName] = realName;
 | 
	
		
			
				|  |  | +    } else if (typeof realName === "object") {
 | 
	
		
			
				|  |  | +      process.env[envName] = JSON.stringify(realName);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    return ret;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +const loadEnv = (): ViteEnv => {
 | 
	
		
			
				|  |  | +  return import.meta.env;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export { loadEnv, warpperEnv };
 |