| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- import fs from 'fs';
 
- import path from 'path';
 
- import dotenv from 'dotenv';
 
- export function isDevFn(mode: string): boolean {
 
-   return mode === 'development';
 
- }
 
- export function isProdFn(mode: string): boolean {
 
-   return mode === 'production';
 
- }
 
- /**
 
-  * Whether to generate package preview
 
-  */
 
- export function isReportMode(): boolean {
 
-   return process.env.REPORT === 'true';
 
- }
 
- // Read all environment variable configuration files to process.env
 
- export function wrapperEnv(envConf: Recordable): ViteEnv {
 
-   const ret: any = {};
 
-   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_PROXY' && realName) {
 
-       try {
 
-         realName = JSON.parse(realName.replace(/'/g, '"'));
 
-       } catch (error) {
 
-         realName = '';
 
-       }
 
-     }
 
-     ret[envName] = realName;
 
-     if (typeof realName === 'string') {
 
-       process.env[envName] = realName;
 
-     } else if (typeof realName === 'object') {
 
-       process.env[envName] = JSON.stringify(realName);
 
-     }
 
-   }
 
-   return ret;
 
- }
 
- /**
 
-  * 获取当前环境下生效的配置文件名
 
-  */
 
- function getConfFiles() {
 
-   // update-begin--author:sunjianlei---date:20250411---for:【QQYUN-9685】构建 electron 桌面应用
 
-   const { VITE_GLOB_RUN_PLATFORM } = process.env;
 
-   if (VITE_GLOB_RUN_PLATFORM === 'electron') {
 
-     return ['.env', '.env.prod_electron'];
 
-   }
 
-   // update-end----author:sunjianlei---date:20250411---for:【QQYUN-9685】构建 electron 桌面应用
 
-   const script = process.env.npm_lifecycle_script;
 
-   // update-begin--author:liaozhiyang---date:20240326---for:【QQYUN-8690】修正获取当前环境下的文件名
 
-   const reg = new RegExp('NODE_ENV=([a-z_\\d]+)');
 
-   // update-end--author:liaozhiyang---date:20240326---for:【QQYUN-8690】修正获取当前环境下的文件名
 
-   const result = reg.exec(script as string) as any;
 
-   if (result) {
 
-     const mode = result[1] as string;
 
-     return ['.env', `.env.${mode}`];
 
-   }
 
-   return ['.env', '.env.production'];
 
- }
 
- /**
 
-  * Get the environment variables starting with the specified prefix
 
-  * @param match prefix
 
-  * @param confFiles ext
 
-  */
 
- export function getEnvConfig(match = 'VITE_GLOB_', confFiles = getConfFiles()) {
 
-   let envConfig = {};
 
-   confFiles.forEach((item) => {
 
-     try {
 
-       const env = dotenv.parse(fs.readFileSync(path.resolve(process.cwd(), item)));
 
-       envConfig = { ...envConfig, ...env };
 
-     } catch (e) {
 
-       console.error(`Error in parsing ${item}`, e);
 
-     }
 
-   });
 
-   const reg = new RegExp(`^(${match})`);
 
-   Object.keys(envConfig).forEach((key) => {
 
-     if (!reg.test(key)) {
 
-       Reflect.deleteProperty(envConfig, key);
 
-     }
 
-   });
 
-   return envConfig;
 
- }
 
- /**
 
-  * Get user root directory
 
-  * @param dir file path
 
-  */
 
- export function getRootPath(...dir: string[]) {
 
-   return path.resolve(process.cwd(), ...dir);
 
- }
 
 
  |