utils.ts 975 Bytes
import { resolve } from "path"
import { ConfigEnv } from "vite"


export function parseEnv(env: ImportMetaEnv) {
  const res: Record<string, any> = {}

  for (const envName of Object.keys(env)) {
    let value = env[envName]

    // parese to boolean
    value = value === 'true' ? true : value === 'false' ? false : value

    if (envName === 'VITE_GLOB_PROXY') {
      try {
        value = JSON.parse(value)
      } catch (error) {
        value = ''
      }
    }

    res[envName] = value

    if (typeof value === 'string') {
      process.env[envName] = value
    } else if (typeof value === 'object') {
      process.env[envName] === JSON.stringify(value)
    }

  }

  return res as ViteEnv
}

export function getEnvConfig(match = 'VITE_GLOB_',) {

}

export function getRootPath(...dir: string[]) {
  return resolve(process.cwd(), ...dir);
}


export function getPublicPath({ command, mode }: ConfigEnv, viteEnv: ViteEnv) {
  return viteEnv.VITE_GLOB_PUBLIC_PATH
}