|
1 | 1 | import { exec, limit } from '../helpers/helpers' |
2 | 2 | import { printStdout } from '../helpers/print' |
3 | | -import { getEnvVarMap } from './get-env' |
4 | | -import type { DeploymentEnv, EnvVarMap } from '../types/types' |
| 3 | +import { getEnvMap } from './get-env' |
| 4 | +import type { DeploymentEnv, EnvMap } from '../types/types' |
5 | 5 |
|
6 | | -const removeEnv = async (deploymentEnv: DeploymentEnv, envVarMap: EnvVarMap) => { |
7 | | - const stdoutList: Promise<void>[] = [] |
8 | | - for (const varName in envVarMap) { |
9 | | - stdoutList.push( |
| 6 | +const removeEnv = async (deploymentEnv: DeploymentEnv, envMap: EnvMap) => { |
| 7 | + const stdoutArr: Promise<void>[] = [] |
| 8 | + |
| 9 | + for (const varName in envMap) { |
| 10 | + stdoutArr.push( |
10 | 11 | limit(() => exec( `vercel env rm ${varName} ${deploymentEnv} -y` ).then(printStdout)) |
11 | 12 | ) |
12 | 13 | } |
13 | 14 |
|
14 | | - await Promise.all(stdoutList) |
| 15 | + await Promise.all(stdoutArr) |
15 | 16 | } |
16 | 17 |
|
17 | | -const addEnv = async (deploymentEnv: DeploymentEnv, envVarMap: EnvVarMap) => { |
| 18 | +const addEnv = async (deploymentEnv: DeploymentEnv, envMap: EnvMap) => { |
18 | 19 | // new syntax: https://github.com/vercel/vercel/pull/5413 released in v21 https://github.com/vercel/vercel/releases/tag/vercel%4021.0.0 |
19 | 20 | // ref: https://github.com/vercel/vercel/blob/vercel%4021.0.0/packages/now-cli/src/types.ts#L206 |
20 | 21 | const varType = 'secret' |
21 | | - const stdoutList: Promise<void>[] = [] |
| 22 | + const stdoutArr: Promise<void>[] = [] |
22 | 23 |
|
23 | | - for (const varName in envVarMap) { |
24 | | - const varValue = envVarMap[varName] |
25 | | - stdoutList.push( |
| 24 | + for (const varName in envMap) { |
| 25 | + const varValue = envMap[varName] |
| 26 | + stdoutArr.push( |
26 | 27 | limit(() => exec( `printf %s "${varValue}" | vercel env add ${varType} ${varName} ${deploymentEnv}` ).then(printStdout)) |
27 | 28 | ) |
28 | 29 | } |
29 | 30 |
|
30 | | - await Promise.all(stdoutList) |
| 31 | + await Promise.all(stdoutArr) |
31 | 32 | } |
32 | 33 |
|
33 | | -export const deployEnv = async (deploymentEnv: DeploymentEnv, varNameList?: string[]) => { |
34 | | - const envVarMap = await getEnvVarMap(deploymentEnv, varNameList) |
| 34 | +export const deployEnv = async (deploymentEnv: DeploymentEnv, varNameArr?: string[]) => { |
| 35 | + const envMap = await getEnvMap(deploymentEnv, varNameArr) |
35 | 36 |
|
36 | | - await removeEnv(deploymentEnv, envVarMap) |
37 | | - await addEnv(deploymentEnv, envVarMap) |
| 37 | + await removeEnv(deploymentEnv, envMap) |
| 38 | + await addEnv(deploymentEnv, envMap) |
38 | 39 | } |
0 commit comments