utils.ts
1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import { resolve } from "path"
import { ConfigEnv } from "vite"
export enum ProjectRuntimeEnvEnum {
DEV = 'development',
PROD = 'production',
DEV_ALONE = 'alone.dev',
PROD_ALONE = 'alone.prod'
}
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
}
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
}